From f4cc54cb4746ae5a6d63438aae811f6543b13774 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 19 Jan 2013 23:08:12 +0100 Subject: [PATCH] formadd: reject trying to read a directory where a file is expected Bug: http://curl.haxx.se/mail/archive-2013-01/0017.html Reported by: Ulrich Doehner --- lib/formdata.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/formdata.c b/lib/formdata.c index 6d78b795e..480de98b2 100644 --- a/lib/formdata.c +++ b/lib/formdata.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2012, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2013, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -830,9 +830,10 @@ static CURLcode AddFormData(struct FormData **formp, file */ if(!strequal("-", newform->line)) { struct_stat file; - if(!stat(newform->line, &file)) { + if(!stat(newform->line, &file) && S_ISREG(file.st_mode)) *size += file.st_size; - } + else + return CURLE_BAD_FUNCTION_ARGUMENT; } } } -- 2.40.0