laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/28068 )

Change subject: stats: Avoid NULL pointer deref in allocation failure paths.
......................................................................

stats: Avoid NULL pointer deref in allocation failure paths.

We should either handle talloc returning NULL, or we should
OSMO_ASSERT().  Doing neither of the two is a bad idea.

Change-Id: I5e8d1cc22cf597f7f50c0f92bf86cb1f1413434c
---
M src/stats.c
M src/stats_statsd.c
2 files changed, 9 insertions(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  fixeria: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve



diff --git a/src/stats.c b/src/stats.c
index 7b25ab1..16e6f62 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -214,7 +214,9 @@
 {
        struct osmo_stats_reporter *srep;
        srep = talloc_zero(osmo_stats_ctx, struct osmo_stats_reporter);
-       OSMO_ASSERT(srep);
+       if (!srep)
+               return NULL;
+
        srep->type = type;
        if (name)
                srep->name = talloc_strdup(srep, name);
@@ -486,6 +488,8 @@
        }

        srep->buffer = msgb_alloc(buffer_size, "stats buffer");
+       if (!srep->buffer)
+               goto failed;

        return 0;

@@ -569,6 +573,8 @@
 {
        struct osmo_stats_reporter *srep;
        srep = osmo_stats_reporter_alloc(OSMO_STATS_REPORTER_LOG, name);
+       if (!srep)
+               return NULL;

        srep->have_net_config = 0;

diff --git a/src/stats_statsd.c b/src/stats_statsd.c
index b89ec92..b27baff 100644
--- a/src/stats_statsd.c
+++ b/src/stats_statsd.c
@@ -54,6 +54,8 @@
 {
        struct osmo_stats_reporter *srep;
        srep = osmo_stats_reporter_alloc(OSMO_STATS_REPORTER_STATSD, name);
+       if (!srep)
+               return NULL;

        srep->have_net_config = 1;


--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/28068
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I5e8d1cc22cf597f7f50c0f92bf86cb1f1413434c
Gerrit-Change-Number: 28068
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to