Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 77040 invoked from network); 23 Jul 2006 20:20:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 23 Jul 2006 20:20:49 -0000 Received: (qmail 69613 invoked by uid 500); 23 Jul 2006 20:20:48 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 69573 invoked by uid 500); 23 Jul 2006 20:20:48 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Id: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 69562 invoked by uid 99); 23 Jul 2006 20:20:47 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 23 Jul 2006 13:20:47 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [207.155.248.72] (HELO tonnant.cnchost.com) (207.155.248.72) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 23 Jul 2006 13:20:47 -0700 Received: from [192.168.0.21] (c-24-15-193-17.hsd1.il.comcast.net [24.15.193.17]) (as wrowe@rowe-clan.net) by tonnant.cnchost.com (ConcentricHost(2.54) Relay) with ESMTP id A5ADF112AA8; Sun, 23 Jul 2006 16:20:26 -0400 (EDT) Message-ID: <44C3D9D8.90000@rowe-clan.net> Date: Sun, 23 Jul 2006 15:19:36 -0500 From: "William A. Rowe, Jr." User-Agent: Thunderbird 1.5.0.4 (X11/20060614) MIME-Version: 1.0 To: Lieven Govaerts CC: dev@apr.apache.org Subject: Re: [PATCH]: apr_filepath_merge on Windows handes ..\..\.. incorrectly. (is Subversion issue 1869) References: <20060723102844.15CC52200D4@assei1bl6.telenet-ops.be> In-Reply-To: <20060723102844.15CC52200D4@assei1bl6.telenet-ops.be> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Lieven Govaerts wrote: > --- file_io/win32/filepath.c (revision 422522) > +++ file_io/win32/filepath.c (working copy) > @@ -673,7 +673,7 @@ > */ > } > else if (pathlen == 0 || > - (pathlen >= 3 && (pathlen == 3 > + (pathlen >= 3 && (pathlen % 3 == 0 > || path[pathlen - 4] == ':') > && path[pathlen - 3] == '.' > && path[pathlen - 2] == '.' -1 on this specific solution; you are entrusting that path[]'s triplets are all ../ patterns which definitely isn't a robust test. There's something deeper going on here, +1 on your test, I'll get that applied in the next day if nobody beats me to it, so we better ensure this is properly fixed before release. This is a great catch - thank you for your report! Bill