From ec5e53149dcf089b67f7fa0b238a53ad18cc7248 Mon Sep 17 00:00:00 2001 From: Mike McLaughlin Date: Fri, 12 Oct 2018 14:57:14 -0700 Subject: [PATCH] Fix MacOS launch bug when spaces in module names. --- src/pal/src/thread/process.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pal/src/thread/process.cpp b/src/pal/src/thread/process.cpp index b6080fcf802d..cbcd1d99c019 100644 --- a/src/pal/src/thread/process.cpp +++ b/src/pal/src/thread/process.cpp @@ -2716,6 +2716,9 @@ CreateProcessModules( // Stack 00007fff5a930000-00007fff5b130000 [ 8192K 32K 32K 0K] rw-/rwx SM=PRV thread 0 // __TEXT 00007fffa4a0b000-00007fffa4a0d000 [ 8K 8K 0K 0K] r-x/r-x SM=COW /usr/lib/libSystem.B.dylib // __TEXT 00007fffa4bbe000-00007fffa4c15000 [ 348K 348K 0K 0K] r-x/r-x SM=COW /usr/lib/libc++.1.dylib + + // NOTE: the module path can have spaces in the name + // __TEXT 0000000196220000-00000001965b4000 [ 3664K 2340K 0K 0K] r-x/rwx SM=COW /Volumes/Builds/builds/devmain/rawproduct/debug/build/out/Applications/Microsoft Excel.app/Contents/SharedSupport/PowerQuery/libcoreclr.dylib char *line = NULL; size_t lineLen = 0; int count = 0; @@ -2737,7 +2740,7 @@ CreateProcessModules( void *startAddress, *endAddress; char moduleName[PATH_MAX]; - if (sscanf_s(line, "__TEXT %p-%p [ %*[0-9K ]] %*[-/rwxsp] SM=%*[A-Z] %s\n", &startAddress, &endAddress, moduleName, _countof(moduleName)) == 3) + if (sscanf_s(line, "__TEXT %p-%p [ %*[0-9K ]] %*[-/rwxsp] SM=%*[A-Z] %[^\n]", &startAddress, &endAddress, moduleName, _countof(moduleName)) == 3) { bool dup = false; for (ProcessModules *entry = listHead; entry != NULL; entry = entry->Next)