[MERGED] libosmocore[master]: osmo_fsm_inst_find_by_name(): guard against strcmp(NULL)

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Mon Apr 9 15:57:46 UTC 2018


Neels Hofmeyr has submitted this change and it was merged.

Change subject: osmo_fsm_inst_find_by_name(): guard against strcmp(NULL)
......................................................................


osmo_fsm_inst_find_by_name(): guard against strcmp(NULL)

strcmp() *must not* be passed NULL pointers, or we hit:

../../../src/libosmocore/src/fsm.c:123:8: runtime error: null pointer passed as argument 2, which is declared to never be null
ASAN:DEADLYSIGNAL

(Or, alternatively, a segfault.)

If any of the search string or an FSM instance's name string should be NULL,
simply never match.

Technically, an FSM should never have a NULL name, but a current bug actually
allows this (pass NULL id to alloc), which will be addressed by an upcoming
patch. To test for it, we need to first make sure this here doesn't segfault.

Change-Id: I2e5f82c06d1a4727bd93e955366e3b62b2df1b32
---
M src/fsm.c
1 file changed, 5 insertions(+), 0 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved



diff --git a/src/fsm.c b/src/fsm.c
index c5256da..88de011 100644
--- a/src/fsm.c
+++ b/src/fsm.c
@@ -119,7 +119,12 @@
 {
 	struct osmo_fsm_inst *fi;
 
+	if (!name)
+		return NULL;
+
 	llist_for_each_entry(fi, &fsm->instances, list) {
+		if (!fi->name)
+			continue;
 		if (!strcmp(name, fi->name))
 			return fi;
 	}

-- 
To view, visit https://gerrit.osmocom.org/7680
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I2e5f82c06d1a4727bd93e955366e3b62b2df1b32
Gerrit-PatchSet: 2
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list