From: Daniel Stenberg Date: Mon, 4 Mar 2013 14:20:22 +0000 (+0100) Subject: AddFormData: prevent only directories from being posted X-Git-Tag: curl-7_30_0~197 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=26eaa8383001219e7cd14a153dff95ea9274be6e;p=curl AddFormData: prevent only directories from being posted Commit f4cc54cb4746ae5a6d (shipped as part of the 7.29.0 release) was a bug fix that introduced a regression in that while trying to avoid allowing directory names, it also forbade "special" files like character devices and more. like "/dev/null" as was used by Oliver who reported this regression. Reported by: Oliver Gondža Bug: http://curl.haxx.se/mail/archive-2013-02/0040.html --- diff --git a/lib/formdata.c b/lib/formdata.c index 308b33a85..49c5d2943 100644 --- a/lib/formdata.c +++ b/lib/formdata.c @@ -831,7 +831,7 @@ static CURLcode AddFormData(struct FormData **formp, file */ if(!strequal("-", newform->line)) { struct_stat file; - if(!stat(newform->line, &file) && S_ISREG(file.st_mode)) + if(!stat(newform->line, &file) && !S_ISDIR(file.st_mode)) *size += file.st_size; else return CURLE_BAD_FUNCTION_ARGUMENT;