From: Daniel Stenberg Date: Tue, 31 Oct 2023 15:21:35 +0000 (+0100) Subject: dynbuf: assert for NULL pointer inputs X-Git-Tag: curl-8_5_0~165 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=27f2352d49ec8d5eec2d8427bde4aac6dbabb940;p=thirdparty%2Fcurl.git dynbuf: assert for NULL pointer inputs Help us catch more mistakes. Closes #12238 --- diff --git a/lib/dynbuf.c b/lib/dynbuf.c index 0c9c491aeb..2973d8da29 100644 --- a/lib/dynbuf.c +++ b/lib/dynbuf.c @@ -77,6 +77,7 @@ static CURLcode dyn_nappend(struct dynbuf *s, DEBUGASSERT(indx < s->toobig); DEBUGASSERT(!s->leng || s->bufr); DEBUGASSERT(a <= s->toobig); + DEBUGASSERT(!len || mem); if(fit > s->toobig) { Curl_dyn_free(s); @@ -174,10 +175,12 @@ CURLcode Curl_dyn_addn(struct dynbuf *s, const void *mem, size_t len) */ CURLcode Curl_dyn_add(struct dynbuf *s, const char *str) { - size_t n = strlen(str); + size_t n; + DEBUGASSERT(str); DEBUGASSERT(s); DEBUGASSERT(s->init == DYNINIT); DEBUGASSERT(!s->leng || s->bufr); + n = strlen(str); return dyn_nappend(s, (unsigned char *)str, n); } @@ -191,6 +194,7 @@ CURLcode Curl_dyn_vaddf(struct dynbuf *s, const char *fmt, va_list ap) DEBUGASSERT(s); DEBUGASSERT(s->init == DYNINIT); DEBUGASSERT(!s->leng || s->bufr); + DEBUGASSERT(fmt); rc = Curl_dyn_vprintf(s, fmt, ap); if(!rc)