From: Jay Satiro Date: Sun, 7 Feb 2016 09:49:07 +0000 (-0500) Subject: tool_operhlp: Check for backslashes in get_url_file_name X-Git-Tag: curl-7_47_1~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d572d2664d82fb8a14b838910018b5683b0af837;p=thirdparty%2Fcurl.git tool_operhlp: Check for backslashes in get_url_file_name Extract the filename from the last slash or backslash. Prior to this change backslashes could be part of the filename. This change needed for the curl tool built for Cygwin. Refer to the CYGWIN addendum in advisory 20160127B. Bug: https://curl.haxx.se/docs/adv_20160127B.html --- diff --git a/src/tool_operhlp.c b/src/tool_operhlp.c index fb344f65dc..b43dc95483 100644 --- a/src/tool_operhlp.c +++ b/src/tool_operhlp.c @@ -129,7 +129,7 @@ char *add_file_name_to_url(CURL *curl, char *url, const char *filename) */ CURLcode get_url_file_name(char **filename, const char *url) { - const char *pc; + const char *pc, *pc2; *filename = NULL; @@ -139,7 +139,11 @@ CURLcode get_url_file_name(char **filename, const char *url) pc += 3; else pc = url; + + pc2 = strrchr(pc, '\\'); pc = strrchr(pc, '/'); + if(pc2 && (!pc || pc < pc2)) + pc = pc2; if(pc) /* duplicate the string beyond the slash */