AddFormData: prevent only directories from being posted

Commit f4cc54cb47 (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
This commit is contained in:
Daniel Stenberg 2013-03-04 15:20:22 +01:00
Родитель fadf33c78a
Коммит 26eaa83830
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -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;