summaryrefslogtreecommitdiff
path: root/src/irmd/reg/prog.c
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-07-10 17:09:58 +0200
committerSander Vrijders <sander@ouroboros.rocks>2026-07-19 11:44:35 +0200
commitad55e2710a020c0dbdd403040ec19c651efbf3e4 (patch)
tree2a42a41269f1c2c847f9d2aee631ad2a753276cf /src/irmd/reg/prog.c
parent395c084c54bc57cad618aea430afd06ce24d356b (diff)
downloadouroboros-ad55e2710a020c0dbdd403040ec19c651efbf3e4.tar.gz
ouroboros-ad55e2710a020c0dbdd403040ec19c651efbf3e4.zip
irmd: Fix strdup error checks in registry
reg_proc_add_name() and reg_prog_add_name() checked the already validated entry pointer instead of the fresh strdup. Found by gcc static analyzer. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/irmd/reg/prog.c')
-rw-r--r--src/irmd/reg/prog.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/irmd/reg/prog.c b/src/irmd/reg/prog.c
index 2d7f9f8d..1e977c89 100644
--- a/src/irmd/reg/prog.c
+++ b/src/irmd/reg/prog.c
@@ -107,6 +107,7 @@ static struct name_entry * __reg_prog_get_name(const struct reg_prog * prog,
llist_for_each(p, &prog->names) {
struct name_entry * entry;
entry = list_entry(p, struct name_entry, next);
+ assert(entry->name != NULL);
if (strcmp(entry->name, name) == 0)
return entry;
}
@@ -128,7 +129,7 @@ int reg_prog_add_name(struct reg_prog * prog,
}
entry->name = strdup(name);
- if (entry == NULL) {
+ if (entry->name == NULL) {
log_err("Failed to strdup name.");
goto fail_name;
}