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 <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged