Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP2
libcdio.12032
libcdio-0.94-leak-16.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File libcdio-0.94-leak-16.patch of Package libcdio.12032
Partial patch. From 213bc176b9be84ac61d52fb86cee33e8f14b80d7 Mon Sep 17 00:00:00 2001 From: "R. Bernstein" <rocky@gnu.org> Date: Fri, 8 Dec 2017 21:21:21 -0500 Subject: [PATCH 16/20] DRY code. More leak removal. --- lib/driver/FreeBSD/freebsd.c | 13 +++++-------- lib/driver/gnu_linux.c | 19 ++++++++++--------- lib/driver/netbsd.c | 13 +++++++++---- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/lib/driver/gnu_linux.c b/lib/driver/gnu_linux.c index fc339e1a..e7967397 100644 --- a/lib/driver/gnu_linux.c +++ b/lib/driver/gnu_linux.c @@ -1775,8 +1775,7 @@ cdio_open_am_linux (const char *psz_orig_source, const char *access_mode) if (NULL == psz_orig_source) { psz_source=cdio_get_default_device_linux(); if (NULL == psz_source) { - free(_data); - return NULL; + goto err_exit; } set_arg_linux(_data, "source", psz_source); @@ -1789,13 +1788,14 @@ cdio_open_am_linux (const char *psz_orig_source, const char *access_mode) #if 0 cdio_info ("source %s is not a device", psz_orig_source); #endif - free(_data); - return NULL; + goto err_exit; } } ret = cdio_new ((void *)_data, &_funcs); - if (ret == NULL) return NULL; + if (ret == NULL) { + goto err_exit; + } ret->driver_id = DRIVER_LINUX; @@ -1809,11 +1809,12 @@ cdio_open_am_linux (const char *psz_orig_source, const char *access_mode) if (cdio_generic_init(_data, open_access_mode)) { set_scsi_tuple_linux(_data); return ret; - } else { - cdio_generic_free (_data); - free(ret); - return NULL; } + free(ret); + + err_exit: + cdio_generic_free(_data); + return NULL; #else return NULL; -- 2.17.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor