From 6f31a83c5a3d6c1ac3fa76bcd330d7ae10381f0c Mon Sep 17 00:00:00 2001 From: John Johansen Date: Thu, 4 Jan 2018 03:01:35 -0800 Subject: [PATCH] parser: fix parser so that cache creation failure doesn't cause load failure This is a minimal patch so that it can be backported to 2.11 and 2.10 which reverts the abort on error failure when the cache can not be created and write-cache is set. This is meant as a temporary fix for https://bugzilla.suse.com/show_bug.cgi?id=1069906 https://bugzilla.opensuse.org/show_bug.cgi?id=1074429 where the cache location is being mounted readonly and the cache creation failure is causing policy to not be loaded. And the thrown parser error to cause issues for openQA. Note: A cache failure warning will be reported after the policy load. Signed-off-by: John Johansen Acked-by: Christian Boltz apparmor@cboltz.de (cherry picked from commit 42b68b65fe1861609ffe31e05be02a007d11ca1c) --- parser/policy_cache.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/parser/policy_cache.c b/parser/policy_cache.c index 6ede6171a..3454cc0dc 100644 --- a/parser/policy_cache.c +++ b/parser/policy_cache.c @@ -147,13 +147,13 @@ int setup_cache_tmp(const char **cachetmpname, const char *cachename) *cachetmpname = NULL; if (write_cache) { /* Otherwise, set up to save a cached copy */ - if (asprintf(&tmpname, "%s-XXXXXX", cachename)<0) { + if (asprintf(&tmpname, "%s-XXXXXX", cachename) < 0) { perror("asprintf"); - exit(1); + return -1; } if ((cache_fd = mkstemp(tmpname)) < 0) { perror("mkstemp"); - exit(1); + return -1; } *cachetmpname = tmpname; }