From: Daniel Stenberg Date: Fri, 2 Jun 2017 15:50:45 +0000 (+0200) Subject: dedotdot: fixed output for ".." and "." only input X-Git-Tag: curl-7_54_1~42 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cfd3e8f399c2bb2a7fdc51f01ddc12548b4f3892;p=curl dedotdot: fixed output for ".." and "." only input Found when updating test 1395, which I did to increase test coverage of this source file... Closes #1535 --- diff --git a/lib/dotdot.c b/lib/dotdot.c index ea7c8a04f..20603bcab 100644 --- a/lib/dotdot.c +++ b/lib/dotdot.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2017, 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 @@ -147,6 +147,7 @@ char *Curl_dedotdotify(const char *input) else if(!strcmp(".", clone) || !strcmp("..", clone)) { *clone=0; + *out=0; } else { diff --git a/tests/unit/unit1395.c b/tests/unit/unit1395.c index ba8e14f45..13ea97bc4 100644 --- a/tests/unit/unit1395.c +++ b/tests/unit/unit1395.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2017, 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 @@ -65,6 +65,13 @@ UNITTEST_START { "/", "/" }, { "", "" }, { "/.../", "/.../" }, + { "./moo", "moo" }, + { "../moo", "moo" }, + { "/.", "/" }, + { "/..", "/" }, + { "/moo/..", "/" }, + { "..", "" }, + { ".", "" }, }; for(i=0; i < sizeof(pairs)/sizeof(pairs[0]); i++) {