From 2b5bc1d5589c5b0acba56ab5081f19145287d775 Mon Sep 17 00:00:00 2001 From: Jeroen van Rijn Date: Tue, 22 Feb 2022 17:08:57 +0100 Subject: [PATCH] [report] Fix `odin report` crash if `/usr/lib/os-release` doesn't exist. --- src/bug_report.cpp | 4 ++-- src/gb/gb.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bug_report.cpp b/src/bug_report.cpp index 9a1cb2254..4dd251f24 100644 --- a/src/bug_report.cpp +++ b/src/bug_report.cpp @@ -473,11 +473,11 @@ void print_bug_report_help() { #elif defined(GB_SYSTEM_LINUX) /* - Try to parse `/usr/lib/os-release` for `PRETTY_NAME="Ubuntu 20.04.3 LTS` + Try to parse `/etc/os-release` for `PRETTY_NAME="Ubuntu 20.04.3 LTS` */ gbAllocator a = heap_allocator(); - gbFileContents release = gb_file_read_contents(a, 1, "/usr/lib/os-release"); + gbFileContents release = gb_file_read_contents(a, 1, "/etc/os-release"); defer (gb_file_free_contents(&release)); b32 found = 0; diff --git a/src/gb/gb.h b/src/gb/gb.h index d9bf09436..a9d6378c9 100644 --- a/src/gb/gb.h +++ b/src/gb/gb.h @@ -6093,6 +6093,7 @@ gbFileContents gb_file_read_contents(gbAllocator a, b32 zero_terminate, char con } void gb_file_free_contents(gbFileContents *fc) { + if (fc == NULL || fc->size == 0) return; GB_ASSERT_NOT_NULL(fc->data); gb_free(fc->allocator, fc->data); fc->data = NULL;