File tree Expand file tree Collapse file tree 3 files changed +14
-3
lines changed Expand file tree Collapse file tree 3 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -233,12 +233,12 @@ static
233233 sentry_value_t
234234 get_linux_os_release (const char * os_rel_path )
235235{
236- sentry_value_t os_dist = sentry_value_new_object ();
237236 const int fd = open (os_rel_path , O_RDONLY );
238237 if (fd == -1 ) {
239238 return sentry_value_new_null ();
240239 }
241240
241+ sentry_value_t os_dist = sentry_value_new_object ();
242242 char buffer [OS_RELEASE_MAX_LINE_SIZE ];
243243 ssize_t bytes_read ;
244244 ssize_t buffer_rest = 0 ;
@@ -284,8 +284,8 @@ static
284284 }
285285
286286 if (bytes_read == -1 ) {
287- close ( fd );
288- return sentry_value_new_null ();
287+ sentry_value_decref ( os_dist );
288+ os_dist = sentry_value_new_null ();
289289 }
290290
291291 close (fd );
Original file line number Diff line number Diff line change @@ -182,3 +182,13 @@ SENTRY_TEST(os_releases_snapshot)
182182 sentry__path_free (test_data_path );
183183#endif // !defined(SENTRY_PLATFORM_LINUX) || defined(SENTRY_PLATFORM_ANDROID)
184184}
185+
186+ SENTRY_TEST (os_release_non_existent_files )
187+ {
188+ #if !defined(SENTRY_PLATFORM_LINUX ) || defined(SENTRY_PLATFORM_ANDROID )
189+ SKIP_TEST ();
190+ #else
191+ sentry_value_t os_release = get_linux_os_release ("invalid_path" );
192+ TEST_ASSERT (sentry_value_is_null (os_release ));
193+ #endif // !defined(SENTRY_PLATFORM_LINUX) || defined(SENTRY_PLATFORM_ANDROID)
194+ }
Original file line number Diff line number Diff line change @@ -60,6 +60,7 @@ XX(options_sdk_name_custom)
6060XX(options_sdk_name_defaults)
6161XX(options_sdk_name_invalid)
6262XX(os)
63+ XX(os_release_non_existent_files)
6364XX(os_releases_snapshot)
6465XX(overflow_spans)
6566XX(page_allocator)
You can’t perform that action at this time.
0 commit comments