From 84eaf3ef2748fa3e531d154da9e280f16a53802c Mon Sep 17 00:00:00 2001 From: lasan Date: Fri, 5 Jun 2026 10:59:01 +0530 Subject: [PATCH] added null guards to device info --- .../platform/implementation/linux/device_info.cc | 3 +++ internal/platform/implementation/linux/device_info.h | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/internal/platform/implementation/linux/device_info.cc b/internal/platform/implementation/linux/device_info.cc index d0955a71..a47e961a 100644 --- a/internal/platform/implementation/linux/device_info.cc +++ b/internal/platform/implementation/linux/device_info.cc @@ -95,6 +95,9 @@ api::DeviceInfo::DeviceType DeviceInfo::GetDeviceType() const { std::optional DeviceInfo::GetDownloadPath() const { char *dir = getenv("XDG_DOWNLOAD_DIR"); + if (dir == nullptr) { + return FilePath("/tmp"); + } return FilePath(std::string(dir)); } diff --git a/internal/platform/implementation/linux/device_info.h b/internal/platform/implementation/linux/device_info.h index 4bf9668b..fa0913ff 100644 --- a/internal/platform/implementation/linux/device_info.h +++ b/internal/platform/implementation/linux/device_info.h @@ -129,14 +129,14 @@ class DeviceInfo final : public api::DeviceInfo { return api::DeviceInfo::OsType::kWindows; // Or ChromeOS? } - std::optional GetDownloadPath() const override; - std::optional GetLocalAppDataPath() const override; - std::optional GetCommonAppDataPath() const override { + std::optional GetDownloadPath() const override; + std::optional GetLocalAppDataPath() const override; + std::optional GetCommonAppDataPath() const override { return std::nullopt; }; - std::optional GetTemporaryPath() const override; - std::optional GetLogPath() const override; - std::optional GetCrashDumpPath() const override; + std::optional GetTemporaryPath() const override; + std::optional GetLogPath() const override; + std::optional GetCrashDumpPath() const override; bool IsScreenLocked() const override; void RegisterScreenLockedListener(