From: Andreas Henriksson Date: Fri, 13 Jun 2014 16:48:18 +0000 (+0200) Subject: install: fix invalid free() in unit_file_mask() X-Git-Tag: v215~438 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;ds=sidebyside;h=223217749e57996336d5730b0a28716cca56d45d;p=elogind.git install: fix invalid free() in unit_file_mask() int unit_file_mask(...) in ./src/shared/install.c calls get_config_path(...) which can in 4 error cases return without setting "ret", and thus "prefix" can be uninitialized when unit_file_mask(...) finishes (which it does directly after the error is returned from get_config_path(...)). --- diff --git a/src/shared/install.c b/src/shared/install.c index 487d0f660..f5620633c 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -563,7 +563,7 @@ int unit_file_mask( unsigned *n_changes) { char **i; - _cleanup_free_ char *prefix; + _cleanup_free_ char *prefix = NULL; int r; assert(scope >= 0);