From: Daniel Stenberg Date: Thu, 25 Jan 2007 20:47:47 +0000 (+0000) Subject: ugha, prevent a buffer overflow and allow very long strings in the generated X-Git-Tag: curl-7_16_1~34 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1c0224be4296da63d1c84809f7ef4e32ceac27f4;p=curl ugha, prevent a buffer overflow and allow very long strings in the generated libcurl source... --- diff --git a/src/main.c b/src/main.c index bee010c03..ab5bbc595 100644 --- a/src/main.c +++ b/src/main.c @@ -3212,7 +3212,7 @@ CURLcode _my_setopt(CURL *curl, const char *name, CURLoption tag, ...) { va_list arg; CURLcode ret; - char buffer[128]; + char *bufp; char value[256]; bool remark=FALSE; @@ -3249,13 +3249,12 @@ CURLcode _my_setopt(CURL *curl, const char *name, CURLoption tag, ...) ret = curl_easy_setopt(curl, tag, oval); } - sprintf(buffer, "%scurl_easy_setopt(hnd, %s, %s);%s", - remark?"/* ":"", - name, value, - remark?" [REMARK] */":""); - - easycode = curl_slist_append(easycode, buffer); + bufp = curl_maprintf("%scurl_easy_setopt(hnd, %s, %s);%s", + remark?"/* ":"", name, value, + remark?" [REMARK] */":""); + easycode = curl_slist_append(easycode, bufp); + curl_free(bufp); va_end(arg); return ret;