diff options
-rw-r--r-- | fb-helper.c | 6 | ||||
-rw-r--r-- | fb.in | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/fb-helper.c b/fb-helper.c index ee6fe60..03c200c 100644 --- a/fb-helper.c +++ b/fb-helper.c @@ -277,6 +277,12 @@ int main(int argc, char *argv[]) goto cleanup; } + if (data_size == 0) { + fprintf(stderr, "Error: skipping 0-byte file: \"%s\"\n", file); + ret = 1; + goto cleanup; + } + forms[0].option = CURLFORM_BUFFER; forms[0].value = basename(file); forms[1].option = CURLFORM_BUFFERPTR; @@ -69,6 +69,10 @@ request_helper() { if [ "$mode" = "u" ]; then basefilename=`basename -- "$file"` if [ "`$STAT -- "$file"`" -eq "0" ] || echo "$basefilename" | grep -F -q ","; then + if [ "`wc -c -- "$file" | cut -d\ -f1`" -eq "0" ]; then + echo "Error: skipping 0-byte file: \"$file\"" >&2 + return 1 + fi base64fn="`base64_encode "$basefilename"`" curl $CURLOPTS -F "file=@-" -F "filename=$base64fn" "$url" < "$file" -o /dev/stdout else |