From: Noel Power Date: Wed, 22 May 2019 14:17:48 +0000 (+0000) Subject: s3/winbdind: cppcheck: fix nullPointerArithmetic error X-Git-Tag: ldb-2.0.5~499 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=edbef9e0403482a66243d3aa8752804fa1666e43;p=thirdparty%2Fsamba.git s3/winbdind: cppcheck: fix nullPointerArithmetic error Fixes source3/winbindd/winbindd_cache.c:4386: error: nullPointerArithmetic: Pointer addition with NULL pointer. <--[cppcheck] source3/winbindd/winbindd_cache.c:4400: error: nullPointerArithmetic: Pointer addition with NULL pointer. <--[cppcheck] source3/winbindd/winbindd_cache.c:1569:24: warning: Dereference of null pointer <--[clang] Signed-off-by: Noel Power Reviewed-by: Andreas Schneider --- diff --git a/source3/winbindd/winbindd_cache.c b/source3/winbindd/winbindd_cache.c index abdfd11dc53..394b0c774a9 100644 --- a/source3/winbindd/winbindd_cache.c +++ b/source3/winbindd/winbindd_cache.c @@ -4383,7 +4383,8 @@ static int pack_tdc_domains( struct winbindd_tdc_domain *domains, len = 0; /* Store the number of array items first */ - len += tdb_pack( buffer+len, buflen-len, "d", + len += tdb_pack( buffer ? buffer+len : NULL, + buffer ? buflen-len : 0, "d", num_domains ); /* now pack each domain trust record */ @@ -4397,7 +4398,8 @@ static int pack_tdc_domains( struct winbindd_tdc_domain *domains, domains[i].dns_name ? domains[i].dns_name : "UNKNOWN" )); } - len += tdb_pack( buffer+len, buflen-len, "fffddd", + len += tdb_pack( buffer ? buffer+len : NULL, + buffer ? buflen-len : 0, "fffddd", domains[i].domain_name, domains[i].dns_name ? domains[i].dns_name : "", dom_sid_str_buf(&domains[i].sid, &tmp),