From: Andreas Schneider Date: Mon, 8 Jul 2024 10:26:47 +0000 (+0200) Subject: lib:param: Add missing return code check X-Git-Tag: tdb-1.4.11~122 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8268b3efff9b0c8475df6a51451f0b4a399718b1;p=thirdparty%2Fsamba.git lib:param: Add missing return code check "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 Reviewed-by: Guenther Deschner --- diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index 00971309042..0afdcebb02d 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -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)) {