From 0b4c4145aac87047513e30a348e63fde96da892d Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 15 Sep 2020 15:53:13 +0200 Subject: [PATCH] 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 --- src/tool_writeout.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/tool_writeout.c b/src/tool_writeout.c index 63d2cd003..393e16861 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: