From: Luca Boccassi Date: Tue, 5 May 2026 12:55:00 +0000 (+0100) Subject: scsi_id: fix memory leak of option_get_synopsis() return value X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=83436d4b7e9e2514bb32b89765ce33ad57f53224;p=thirdparty%2Fsystemd.git scsi_id: fix memory leak of option_get_synopsis() return value option_get_synopsis() returns a heap-allocated string. Capture it in a _cleanup_free_ variable so it is freed after being used in the log message. CID#1657828 Follow-up for 05fea7df1bd6579dc382455626e0e84acb2a8912 --- diff --git a/src/udev/scsi_id/scsi_id.c b/src/udev/scsi_id/scsi_id.c index 295819351d1..93b65816e49 100644 --- a/src/udev/scsi_id/scsi_id.c +++ b/src/udev/scsi_id/scsi_id.c @@ -328,10 +328,13 @@ static int per_dev_options(struct scsi_id_device *dev_scsi, int *good_bad, enum r = parse_page_code(opts.arg, page_code); if (r < 0) return r; - } else + } else { + _cleanup_free_ char *synopsis = + option_get_synopsis(opts.opt, "/", /* show_metavar=*/ false); return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Option %s not supported in the config file.", - strnull(option_get_synopsis(opts.opt, "/", /* show_metavar=*/ false))); + strnull(synopsis)); + } return 0; }