From: Adeel Mujahid <3840695+am11@users.noreply.github.com> Date: Thu, 30 Sep 2021 23:38:13 +0000 (+0300) Subject: Resolve relative path in setsymbolserver -directory (#2633) X-Git-Tag: submit/tizen/20220302.040122~21^2^2~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=01a71a0394c29dd612d11153b365eacb26f574d4;p=platform%2Fcore%2Fdotnet%2Fdiagnostics.git Resolve relative path in setsymbolserver -directory (#2633) --- diff --git a/src/SOS/Strike/strike.cpp b/src/SOS/Strike/strike.cpp index 7a6038376..028f3d159 100644 --- a/src/SOS/Strike/strike.cpp +++ b/src/SOS/Strike/strike.cpp @@ -16667,6 +16667,7 @@ DECLARE_API(SetSymbolServer) StringHolder windowsSymbolPath; StringHolder authToken; size_t timeoutInMinutes = 0; + std::string resolvedSearchDirectory; BOOL disable = FALSE; BOOL loadNative = FALSE; BOOL msdl = FALSE; @@ -16713,9 +16714,17 @@ DECLARE_API(SetSymbolServer) DisableSymbolStore(); } - if (msdl || symweb || symbolServer.data != nullptr || symbolCache.data != nullptr || searchDirectory.data != nullptr || windowsSymbolPath.data != nullptr) + if (searchDirectory.data != nullptr) { + if (!GetAbsolutePath(searchDirectory.data, resolvedSearchDirectory)) + { + ExtErr("Invalid runtime directory %s\n", resolvedSearchDirectory.c_str()); + return E_FAIL; + } + } + + if (msdl || symweb || symbolServer.data != nullptr || symbolCache.data != nullptr || !resolvedSearchDirectory.empty() || windowsSymbolPath.data != nullptr) { - Status = InitializeSymbolStore(msdl, symweb, symbolServer.data, authToken.data, (int)timeoutInMinutes, symbolCache.data, searchDirectory.data, windowsSymbolPath.data); + Status = InitializeSymbolStore(msdl, symweb, symbolServer.data, authToken.data, (int)timeoutInMinutes, symbolCache.data, (resolvedSearchDirectory.empty() ? nullptr : resolvedSearchDirectory.c_str()), windowsSymbolPath.data); if (FAILED(Status)) { return Status; @@ -16736,9 +16745,9 @@ DECLARE_API(SetSymbolServer) { ExtOut("Added symbol cache path: %s\n", symbolCache.data); } - if (searchDirectory.data != nullptr) + if (!resolvedSearchDirectory.empty()) { - ExtOut("Added symbol directory path: %s\n", searchDirectory.data); + ExtOut("Added symbol directory path: %s\n", resolvedSearchDirectory.c_str()); } if (windowsSymbolPath.data != nullptr) { @@ -17078,4 +17087,4 @@ DECLARE_API(Help) } return S_OK; -} \ No newline at end of file +}