From 0a6420ee62b9a58d55812a206df2bde41fb64598 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 2 Jun 2017 17:50:45 +0200 Subject: dedotdot: fixed output for ".." and "." only input Found when updating test 1395, which I did to increase test coverage of this source file... --- lib/dotdot.c | 3 ++- tests/unit/unit1395.c | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) 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++) { -- cgit v1.2.1