From: Richard Levitte Date: Wed, 22 Jun 2016 11:39:46 +0000 (+0200) Subject: OpenSSL::Test: Fix directory calculations in __cwd() X-Git-Tag: OpenSSL_1_1_0-pre6~364 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=768a3eca39a78b46cfba66b731956a2d2edf4683;p=openssl OpenSSL::Test: Fix directory calculations in __cwd() The previous fix contained a mistake, where any absolute path in %directories would be cleared away instead of just being left alone. Reviewed-by: Rich Salz --- diff --git a/test/testlib/OpenSSL/Test.pm b/test/testlib/OpenSSL/Test.pm index 6a10afd653..31f41057f0 100644 --- a/test/testlib/OpenSSL/Test.pm +++ b/test/testlib/OpenSSL/Test.pm @@ -854,7 +854,12 @@ sub __cwd { rmtree(".", { safe => 0, keep_root => 1 }); } - %directories = %tmp_directories; + # We put back new values carefully. Doing the obvious + # %directories = ( %tmp_irectories ) + # will clear out any value that happens to be an absolute path + foreach (keys %tmp_directories) { + $directories{$_} = $tmp_directories{$_}; + } foreach (keys %tmp_ENV) { $ENV{$_} = $tmp_ENV{$_}; }