]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib:param: Add missing return code check
authorAndreas Schneider <asn@samba.org>
Mon, 8 Jul 2024 10:26:47 +0000 (12:26 +0200)
committerGünther Deschner <gd@samba.org>
Tue, 16 Jul 2024 11:41:33 +0000 (11:41 +0000)
"Error: NEGATIVE_RETURNS (CWE-394):
samba-4.20.0rc2/lib/param/loadparm.c:1275: negative_return_fn: Function ""lpcfg_map_parameter(""printing"")"" returns a negative number.
samba-4.20.0rc2/lib/param/loadparm.c:1275: assign: Assigning: ""parm_num"" = ""lpcfg_map_parameter(""printing"")"".
samba-4.20.0rc2/lib/param/loadparm.c:1278: negative_returns: Using variable ""parm_num"" as an index to array ""parm_table"".
 1276|    }
 1277|
 1278|->  if (!lp_set_enum_parm(&parm_table[parm_num], pszParmValue, (int*)ptr)) {
 1279|    return false;
 1280|    }"

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
lib/param/loadparm.c

index 009713090422337e86a28b1200fdbf028907b0f9..0afdcebb02db7b2e4978211aafcda96a9de4e89d 100644 (file)
@@ -1273,6 +1273,9 @@ bool handle_printing(struct loadparm_context *lp_ctx, struct loadparm_service *s
 
        if (parm_num == -1) {
                parm_num = lpcfg_map_parameter("printing");
+               if (parm_num == -1) {
+                       return false;
+               }
        }
 
        if (!lp_set_enum_parm(&parm_table[parm_num], pszParmValue, (int*)ptr)) {