]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
aws-sigv4: allow a blank string
authorDaniel Stenberg <daniel@haxx.se>
Thu, 24 Apr 2025 21:39:08 +0000 (23:39 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 25 Apr 2025 07:32:57 +0000 (09:32 +0200)
make sure a zero length sigv4 gets the default value

Reported-by: Arian van Putten
Fixes #17176
Closes #17178

lib/http_aws_sigv4.c
src/tool_getparam.c

index c255ddcb0c2bf08ad62fdc879e022e9e4c0869c8..70471382797fb3df78ac36e4b382caaea7110912 100644 (file)
@@ -676,8 +676,9 @@ CURLcode Curl_output_aws_sigv4(struct Curl_easy *data)
    * AWS is the default because most of non-amazon providers
    * are still using aws:amz as a prefix.
    */
-  line = data->set.str[STRING_AWS_SIGV4] ?
-    data->set.str[STRING_AWS_SIGV4] : "aws:amz";
+  line = data->set.str[STRING_AWS_SIGV4];
+  if(!line || !*line)
+    line = "aws:amz";
 
   /* provider0[:provider1[:region[:service]]]
 
index e64239e5fa04253d79a6e9d313e38639051d44e0..e1d2864975802a1b9c1bc77ff37b2a56f776e51e 100644 (file)
@@ -2005,7 +2005,7 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
       break;
     case C_AWS_SIGV4: /* --aws-sigv4 */
       config->authtype |= CURLAUTH_AWS_SIGV4;
-      err = getstr(&config->aws_sigv4, nextarg, DENY_BLANK);
+      err = getstr(&config->aws_sigv4, nextarg, ALLOW_BLANK);
       break;
     case C_STDERR: /* --stderr */
       tool_set_stderr_file(global, nextarg);