summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-09-19 08:06:01 (GMT)
committerDaniel Stenberg <daniel@haxx.se>2019-09-20 06:07:31 (GMT)
commit2ba62322a74a408e90b53afb185ba555a157ecb3 (patch)
treea09f93efc3cabfba11cfae793ca09f8652c11c65
parentcc95dbd64f35bc11c55c475d32012c5491e2f01b (diff)
downloadcurl-2ba62322a74a408e90b53afb185ba555a157ecb3.tar.gz
mime: make Curl_mime_duppart() assert if called without valid dst
Fixes warning detected by PVS-Studio Fixes #4374
-rw-r--r--lib/mime.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/mime.c b/lib/mime.c
index 0fb3ae8..081e51e 100644
--- a/lib/mime.c
+++ b/lib/mime.c
@@ -1135,6 +1135,8 @@ CURLcode Curl_mime_duppart(curl_mimepart *dst, const curl_mimepart *src)
const curl_mimepart *s;
CURLcode res = CURLE_OK;
+ DEBUGASSERT(dst);
+
/* Duplicate content. */
switch(src->kind) {
case MIMEKIND_NONE:
@@ -1184,20 +1186,18 @@ CURLcode Curl_mime_duppart(curl_mimepart *dst, const curl_mimepart *src)
}
}
- /* Duplicate other fields. */
- if(dst != NULL)
+ if(!res) {
+ /* Duplicate other fields. */
dst->encoder = src->encoder;
- else
- res = CURLE_WRITE_ERROR;
- if(!res)
res = curl_mime_type(dst, src->mimetype);
+ }
if(!res)
res = curl_mime_name(dst, src->name);
if(!res)
res = curl_mime_filename(dst, src->filename);
/* If an error occurred, rollback. */
- if(res && dst)
+ if(res)
Curl_mime_cleanpart(dst);
return res;