From 22da5ca8dd117c0c9d12c76b40f3b204334e14a4 Mon Sep 17 00:00:00 2001 From: Tomas Halman Date: Jul 29 2021 09:58:11 +0000 Subject: Merge #34 `lu_dispatch: Free tmp on failures` --- diff --git a/lib/user.c b/lib/user.c index 2500565..eae323c 100644 --- a/lib/user.c +++ b/lib/user.c @@ -986,7 +986,10 @@ lu_dispatch(struct lu_context *context, case user_default: case group_default: /* Make sure we have both name and boolean here. */ - g_return_val_if_fail(sdata != NULL, FALSE); + if (sdata == NULL) { + free(tmp); + return FALSE; + } /* Run the checks and preps. */ if (run_list(context, context->create_module_names, logic_and, id, @@ -1065,7 +1068,10 @@ lu_dispatch(struct lu_context *context, case user_setpass: case group_setpass: /* Make sure we have a valid password. */ - g_return_val_if_fail(sdata != NULL, FALSE); + if (sdata == NULL) { + free(tmp); + return FALSE; + } /* no break: fall through */ case user_removepass: case group_removepass: @@ -1094,7 +1100,10 @@ lu_dispatch(struct lu_context *context, case users_enumerate_by_group: case groups_enumerate_by_user: /* Make sure we have both name and ID here. */ - g_return_val_if_fail(sdata != NULL, FALSE); + if (sdata == NULL) { + free(tmp); + return FALSE; + } if (id == users_enumerate_by_group) ldata = convert_group_name_to_id(context, sdata, error);