X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fcommon%2Fsrc%2Fsymtab.c;h=a105187b857b5052f6deaaf92453fff0d3189527;hb=fc5c77b3d78988aa407118235d7f5978642df753;hp=43acfa1854fe31c0d9d7d5403ec3905837f34acf;hpb=0d4def6c7b673f3be486338ced65ccdd25a859ed;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/common/src/symtab.c b/src/rmr/common/src/symtab.c index 43acfa1..a105187 100644 --- a/src/rmr/common/src/symtab.c +++ b/src/rmr/common/src/symtab.c @@ -313,7 +313,7 @@ extern void rmr_sym_del( void *vtable, const char *name, unsigned int class ) /* Delete element by numberic key. */ -extern void *rmr_sym_ndel( void *vtable, uint64_t key ) { +extern void rmr_sym_ndel( void *vtable, uint64_t key ) { rmr_sym_del( vtable, (const char *) &key, 0 ); } @@ -470,11 +470,13 @@ extern void rmr_sym_foreach_class( void *vst, unsigned int class, void (* user_f if( st && (list = st->symlist) != NULL && user_fun != NULL ) for( i = 0; i < st->size; i++ ) - for( se = list[i]; se; se = next ) /* using next allows user to delet via this */ + for( se = list[i]; se; se = next ) /* using next allows user to delete via this */ { - next = se->next; - if( class == se->class ) { - user_fun( st, se, se->name, se->val, user_data ); + if( se ) { + next = se->next; + if( class == se->class ) { + user_fun( st, se, se->name, se->val, user_data ); + } } } }