diff options
Diffstat (limited to 'src/firejail/fs_whitelist.c')
-rw-r--r-- | src/firejail/fs_whitelist.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/firejail/fs_whitelist.c b/src/firejail/fs_whitelist.c index 602985b4e..9b68b6753 100644 --- a/src/firejail/fs_whitelist.c +++ b/src/firejail/fs_whitelist.c | |||
@@ -371,10 +371,13 @@ void fs_whitelist(void) { | |||
371 | 371 | ||
372 | // resolve macros | 372 | // resolve macros |
373 | if (is_macro(dataptr)) { | 373 | if (is_macro(dataptr)) { |
374 | char *tmp = resolve_macro(dataptr); | 374 | char *tmp = resolve_macro(dataptr); // returns allocated mem |
375 | if (tmp != NULL) | 375 | if (tmp != NULL) { |
376 | tmp = parse_nowhitelist(nowhitelist_flag, tmp); | 376 | char *tmp1 = parse_nowhitelist(nowhitelist_flag, tmp); |
377 | 377 | assert(tmp1); | |
378 | free(tmp); | ||
379 | tmp = tmp1; | ||
380 | } | ||
378 | if (tmp) { | 381 | if (tmp) { |
379 | entry->data = tmp; | 382 | entry->data = tmp; |
380 | dataptr = (nowhitelist_flag)? entry->data + 12: entry->data + 10; | 383 | dataptr = (nowhitelist_flag)? entry->data + 12: entry->data + 10; |