]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
escape: zero length input should return a zero length output
authorDaniel Stenberg <daniel@haxx.se>
Wed, 24 Jun 2020 13:23:19 +0000 (15:23 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 24 Jun 2020 22:00:28 +0000 (00:00 +0200)
Regression added in 7.71.0.

Fixes #5601
Reported-by: Kristoffer Gleditsch
Closes #5602

lib/escape.c

index f3c558ed0e495fa9f322cc61c12bd5c97090b607..26d44df7b6d81f83824efcb4753131d2b6b93d2d 100644 (file)
@@ -89,6 +89,9 @@ char *curl_easy_escape(struct Curl_easy *data, const char *string,
   Curl_dyn_init(&d, CURL_MAX_INPUT_LENGTH);
 
   length = (inlength?(size_t)inlength:strlen(string));
+  if(!length)
+    return strdup("");
+
   while(length--) {
     unsigned char in = *string; /* we need to treat the characters unsigned */