From: Emil Velikov Date: Wed, 4 Jun 2025 16:16:25 +0000 (+0100) Subject: libkmod: explicitly return ENOMEM on kmod_module_*_new failure X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=70108351033f3f527d4e4fdd6f20161557554d1e;p=thirdparty%2Fkmod.git libkmod: explicitly return ENOMEM on kmod_module_*_new failure All these functions do is malloc() the respective struct and initialize the members. The errno can only be ENOMEM, so just return it directly. Signed-off-by: Emil Velikov Link: https://github.com/kmod-project/kmod/pull/368 Signed-off-by: Lucas De Marchi --- diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c index 045822a4..229c6bca 100644 --- a/libkmod/libkmod-module.c +++ b/libkmod/libkmod-module.c @@ -2032,9 +2032,9 @@ KMOD_EXPORT int kmod_module_get_versions(const struct kmod_module *mod, mv = kmod_module_versions_new(versions[i].crc, versions[i].symbol); if (mv == NULL) { - ret = -errno; kmod_module_versions_free_list(*list); *list = NULL; + ret = -ENOMEM; goto list_error; } @@ -2133,9 +2133,9 @@ KMOD_EXPORT int kmod_module_get_symbols(const struct kmod_module *mod, mv = kmod_module_symbols_new(symbols[i].crc, symbols[i].symbol); if (mv == NULL) { - ret = -errno; kmod_module_symbols_free_list(*list); *list = NULL; + ret = -ENOMEM; goto list_error; } @@ -2240,9 +2240,9 @@ KMOD_EXPORT int kmod_module_get_dependency_symbols(const struct kmod_module *mod mv = kmod_module_dependency_symbols_new(symbols[i].crc, symbols[i].bind, symbols[i].symbol); if (mv == NULL) { - ret = -errno; kmod_module_dependency_symbols_free_list(*list); *list = NULL; + ret = -ENOMEM; goto list_error; }