Commit 25839802 by Michael Spang Committed by Commit Bot

Vulkan: Don't crash on diagnostics with null pMessageIdName

This can be null and this will causes a crash in strstr(). Check for null before dereferencing this field. BUG=angleproject:2475 TEST=angle_end2end_tests on Fuchsia and angle_enable_vulkan_validation_layers=true Change-Id: I76a2738365838cb2f9cb54af7637417735762b69 Reviewed-on: https://chromium-review.googlesource.com/c/1446506Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 794364eb
...@@ -112,6 +112,10 @@ constexpr std::array<const char *, 1> kSkippedMessages = { ...@@ -112,6 +112,10 @@ constexpr std::array<const char *, 1> kSkippedMessages = {
// return "true" if given code/prefix/message is known, else return "false" // return "true" if given code/prefix/message is known, else return "false"
bool IsIgnoredDebugMessage(const char *message) bool IsIgnoredDebugMessage(const char *message)
{ {
if (!message)
{
return false;
}
for (const char *msg : kSkippedMessages) for (const char *msg : kSkippedMessages)
{ {
if (strstr(message, msg) != nullptr) if (strstr(message, msg) != nullptr)
...@@ -230,7 +234,11 @@ DebugUtilsMessenger(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, ...@@ -230,7 +234,11 @@ DebugUtilsMessenger(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
} }
std::ostringstream log; std::ostringstream log;
log << "[ " << callbackData->pMessageIdName << " ] " << callbackData->pMessage << std::endl; if (callbackData->pMessageIdName)
{
log << "[ " << callbackData->pMessageIdName << " ] ";
}
log << callbackData->pMessage << std::endl;
// Aesthetic value based on length of the function name, line number, etc. // Aesthetic value based on length of the function name, line number, etc.
constexpr size_t kStartIndent = 28; constexpr size_t kStartIndent = 28;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment