about summary refs log tree commit diff
diff options
context:
space:
mode:
authorelectricworry <electricworry@users.noreply.github.com>2020-07-22 20:19:55 +0100
committerelectricworry <electricworry@users.noreply.github.com>2020-07-22 20:19:55 +0100
commit024a88a6bbf2e25e5b61f061e9b98351cbc86a66 (patch)
treed73141407d4f01218a18552b5a2c993b603828d9
parent4a51cb71fb8785325dedac693cdea4648f6e5279 (diff)
downloadafl++-024a88a6bbf2e25e5b61f061e9b98351cbc86a66.tar.gz
Fixes AFLplusplus/AFLplusplus#464 winepath path translation for .cur_input.
-rwxr-xr-xafl-wine-trace7
1 files changed, 6 insertions, 1 deletions
diff --git a/afl-wine-trace b/afl-wine-trace
index 65525a33..8853a757 100755
--- a/afl-wine-trace
+++ b/afl-wine-trace
@@ -68,7 +68,12 @@ else:
 argv = sys.argv[1:]
 for i in range(len(argv)):
     if ".cur_input" in argv[i]:
-        argv[i] = subprocess.run([os.path.join(os.path.dirname(wine_path), "winepath"), "--windows", argv[i]], universal_newlines=True, stdout=subprocess.PIPE).stdout
+        # Get the Wine translated path using the winepath tool
+        arg_translated = subprocess.run([os.path.join(os.path.dirname(wine_path), "winepath"), "--windows", argv[i]], universal_newlines=True, stdout=subprocess.PIPE).stdout
+        # Remove the spurious LF at the end of the path
+        if len(arg_translated) > 0 and arg_translated[-1] == '\n':
+            arg_translated = arg_translated[:-1]
+        argv[i] = arg_translated
         break
 
 print("[afl-wine-trace] exec:", " ".join([qemu_path, wine_path] + argv))