Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:Update
pacemaker.34783
pacemaker#3394-0003-Low-libcrmcommon-NULL-check...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pacemaker#3394-0003-Low-libcrmcommon-NULL-check-strdup-in-pcmk__register.patch of Package pacemaker.34783
From fad740e877849b49cb9956681ab54a5663ffeab0 Mon Sep 17 00:00:00 2001 From: Reid Wahl <nrwahl@protonmail.com> Date: Wed, 20 Mar 2024 20:05:06 -0700 Subject: [PATCH 3/4] Low: libcrmcommon: NULL-check strdup() in pcmk__register_format() Dereferencing null pointer found by cppcheck. Return ENOMEM instead of asserting since this is a library function that returns a standard Pacemaker return code. However, nothing checks it, and it would have segfaulted in the past, so it might be better to assert here. Signed-off-by: Reid Wahl <nrwahl@protonmail.com> --- lib/common/output.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) Index: pacemaker-2.0.5+20201202.ba59be712/lib/common/output.c =================================================================== --- pacemaker-2.0.5+20201202.ba59be712.orig/lib/common/output.c +++ pacemaker-2.0.5+20201202.ba59be712/lib/common/output.c @@ -81,10 +81,17 @@ pcmk__output_new(pcmk__output_t **out, c int pcmk__register_format(GOptionGroup *group, const char *name, pcmk__output_factory_t create, GOptionEntry *options) { + char *name_copy = NULL; + if (create == NULL) { return -EINVAL; } + name_copy = strdup(name); + if (name_copy == NULL) { + return ENOMEM; + } + if (formatters == NULL) { formatters = g_hash_table_new_full(crm_str_hash, g_str_equal, free, NULL); } @@ -93,7 +100,7 @@ pcmk__register_format(GOptionGroup *grou g_option_group_add_entries(group, options); } - g_hash_table_insert(formatters, strdup(name), create); + g_hash_table_insert(formatters, name_copy, create); return 0; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor