From c38fa7e9a901e43a225975baa1bf3302d18324d3 Mon Sep 17 00:00:00 2001 From: Tom Hromatka Date: Tue, 23 Feb 2021 13:47:38 -0700 Subject: [PATCH] api.c: Fix erroneous error handling in cgroup_set_values_recursive() Ignore the positive length returned by asprintf() and only act upon the error code returned from cg_set_control_value(). Previously cgroup_set_values_recursive() mishandled the error handling when the value's dirty flag was set. Reported-by: Bharani viswas Fixes: 092e4aeb0416f ("api.c: Refactor duplicate logic in cgroup modify and create") Signed-off-by: Tom Hromatka --- src/api.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/api.c b/src/api.c index 11855be2..51f9075f 100644 --- a/src/api.c +++ b/src/api.c @@ -1913,13 +1913,7 @@ STATIC int cgroup_set_values_recursive(const char * const base, free(path); path = NULL; - /* don't consider error in files directly written by - * the user as fatal */ - if (ret && !controller->values[j]->dirty) { - ret = 0; - continue; - } - if (ret) + if (error) goto err; controller->values[j]->dirty = false; -- 2.47.2