From 2e77734b982d6b64766b51fba5113d62cd44324f Mon Sep 17 00:00:00 2001 From: dan Date: Tue, 10 Jan 2023 14:31:56 +0000 Subject: Fix handling of unix paths that contain ".." components such that "/" is considered its own parent directory. FossilOrigin-Name: 3c6cadb396de3981bd950eddd532daa8134bd4bf22c578620e323835c96a8500 --- src/os_unix.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/os_unix.c') diff --git a/src/os_unix.c b/src/os_unix.c index d248703e9..c3359f1bc 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -6462,12 +6462,10 @@ static void appendOnePathElement( if( zName[0]=='.' ){ if( nName==1 ) return; if( zName[1]=='.' && nName==2 ){ - if( pPath->nUsed<=1 ){ - pPath->rc = SQLITE_ERROR; - return; + if( pPath->nUsed>1 ){ + assert( pPath->zOut[0]=='/' ); + while( pPath->zOut[--pPath->nUsed]!='/' ){} } - assert( pPath->zOut[0]=='/' ); - while( pPath->zOut[--pPath->nUsed]!='/' ){} return; } } -- cgit v1.2.3