of the patch he suggested. Added his test case as test289 to verify.
helpf("Can't open '%s'!\n", uploadfile);
if(infd)
fclose(infd);
- return CURLE_READ_ERROR;
+
+ /* Free the list of remaining URLs and globbed upload files
+ * to force curl to exit immediately
+ */
+ if(urls) {
+ glob_cleanup(urls);
+ urls = NULL;
+ }
+ if(inglob) {
+ glob_cleanup(inglob);
+ inglob = NULL;
+ }
+
+ res = CURLE_READ_ERROR;
+ goto quit_urls;
}
infdfopen=TRUE;
uploadfilesize=fileinfo.st_size;
SetComment( outs.filename, url);
#endif
+quit_urls:
if(headerfilep)
fclose(headerfilep);
} /* loop to the next URL */
- if(urls)
+ if(urls) {
/* cleanup memory used for URL globbing patterns */
glob_cleanup(urls);
+ urls = NULL;
+ }
if(uploadfile)
free(uploadfile);
test405 test604 test605 test606 test607 test608 test609 test294 test295 \
test296 test297 test298 test610 test611 test612 test406 test407 test408 \
test409 test613 test614 test700 test701 test702 test704 test705 test703 \
- test706 test707 test350 test351 test352 test353
+ test706 test707 test350 test351 test352 test353 test289
--- /dev/null
+<testcase>
+<info>
+<keywords>
+FTP
+STOR
+Resume
+FAILURE
+</keywords>
+</info>
+
+# Client-side
+<client>
+<server>
+ftp
+</server>
+ <name>
+FTP resume upload but denied access to remote file
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/289 -T log/illegal-nonexistent-file -C -
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+26
+</errorcode>
+</verify>
+</testcase>