diff --git a/network/cloud_sync/webdav.c b/network/cloud_sync/webdav.c index 48493385bf..2f9f856c6c 100644 --- a/network/cloud_sync/webdav.c +++ b/network/cloud_sync/webdav.c @@ -217,10 +217,18 @@ static bool webdav_create_digest_auth(char *digest) else if (string_starts_with(ptr, "algorithm=")) { ptr += STRLEN_CONST("algorithm="); - sz = strchr(ptr, ',') + 1 - ptr; - webdav_st->algo = malloc(sz); - strlcpy(webdav_st->algo, ptr, sz); - ptr += sz; + if (strchr(ptr, ',')) + { + sz = strchr(ptr, ',') + 1 - ptr; + webdav_st->algo = malloc(sz); + strlcpy(webdav_st->algo, ptr, sz); + ptr += sz; + } + else + { + webdav_st->algo = strdup(ptr); + ptr += strlen(ptr); + } } else if (string_starts_with(ptr, "opaque=\"")) {