From: Daniel Stenberg Date: Tue, 15 Sep 2020 13:53:13 +0000 (+0200) Subject: tool_writeout: protect fputs() from NULL X-Git-Tag: curl-7_73_0~95 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0b4c4145aac87047513e30a348e63fde96da892d;p=thirdparty%2Fcurl.git tool_writeout: protect fputs() from NULL When the code was changed to do fputs() instead of fprintf() it got sensitive for NULL pointers; add checks for that. Follow-up from 0c1e767e83ec66 Closes #5963 --- diff --git a/src/tool_writeout.c b/src/tool_writeout.c index 63d2cd003c..393e168617 100644 --- a/src/tool_writeout.c +++ b/src/tool_writeout.c @@ -284,9 +284,8 @@ void ourWriteOut(CURL *curl, struct per_transfer *per, const char *writeinfo) fputs(per->outs.filename, stream); break; case VAR_PRIMARY_IP: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_PRIMARY_IP, - &stringp)) + if((CURLE_OK == curl_easy_getinfo(curl, CURLINFO_PRIMARY_IP, + &stringp)) && stringp) fputs(stringp, stream); break; case VAR_PRIMARY_PORT: @@ -296,9 +295,8 @@ void ourWriteOut(CURL *curl, struct per_transfer *per, const char *writeinfo) fprintf(stream, "%ld", longinfo); break; case VAR_LOCAL_IP: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_LOCAL_IP, - &stringp)) + if((CURLE_OK == curl_easy_getinfo(curl, CURLINFO_LOCAL_IP, + &stringp)) && stringp) fputs(stringp, stream); break; case VAR_LOCAL_PORT: @@ -331,9 +329,8 @@ void ourWriteOut(CURL *curl, struct per_transfer *per, const char *writeinfo) } break; case VAR_SCHEME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_SCHEME, - &stringp)) + if((CURLE_OK == curl_easy_getinfo(curl, CURLINFO_SCHEME, + &stringp)) && stringp) fputs(stringp, stream); break; case VAR_STDOUT: