diff options
Diffstat (limited to 'chromium/media/base/win/hresult_status_helper.cc')
-rw-r--r-- | chromium/media/base/win/hresult_status_helper.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/chromium/media/base/win/hresult_status_helper.cc b/chromium/media/base/win/hresult_status_helper.cc index e3d6a43ebc0..fe141bb5ac9 100644 --- a/chromium/media/base/win/hresult_status_helper.cc +++ b/chromium/media/base/win/hresult_status_helper.cc @@ -5,6 +5,7 @@ #include "media/base/win/hresult_status_helper.h" #include "base/logging.h" +#include "base/strings/string_util.h" namespace media { @@ -15,8 +16,12 @@ Status HresultToStatus(HRESULT hresult, if (SUCCEEDED(hresult)) return OkStatus(); + std::string sys_err = logging::SystemErrorCodeToString(hresult); + if (!base::IsStringUTF8AllowingNoncharacters(sys_err)) + sys_err = "System error string is invalid"; + return Status(code, message == nullptr ? "HRESULT" : message, location) - .WithData("value", logging::SystemErrorCodeToString(hresult)); + .WithData("value", sys_err); } } // namespace media |