From 6514b2d59545300b27785abaaacd0115ff61a18d Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 2 Jan 2023 01:08:38 +0100 Subject: hurd _S_msg_add_auth: Initialize new arrays to 0 If make_list fails, they would be undefined, and freeup with free uninitialized pointers. --- hurd/hurdauth.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'hurd') diff --git a/hurd/hurdauth.c b/hurd/hurdauth.c index 9086e94..25cc8ee 100644 --- a/hurd/hurdauth.c +++ b/hurd/hurdauth.c @@ -101,21 +101,24 @@ _S_msg_add_auth (mach_port_t me, __mutex_lock (&_hurd_id.lock); _hurd_check_ids (); -#define MAKE(genaux,uidgid) \ - make_list (&new ## genaux ## uidgid ## s, \ +#define MAKE(genaux,uidgid) ({ \ + new ## genaux ## uidgid ## s = 0; \ + nnew ## genaux ## uidgid ## s = 0; \ + make_list (&new ## genaux ## uidgid ## s, \ &nnew ## genaux ## uidgid ## s, \ _hurd_id.genaux.uidgid ## s, \ _hurd_id.genaux.n ## uidgid ## s, \ genaux ## uidgid ## s, \ - n ## genaux ## uidgid ## s) + n ## genaux ## uidgid ## s); \ +}) err = MAKE (gen, uid); if (!err) - MAKE (aux, uid); + err = MAKE (aux, uid); if (!err) - MAKE (gen, gid); + err = MAKE (gen, gid); if (!err) - MAKE (aux, gid); + err = MAKE (aux, gid); #undef MAKE __mutex_unlock (&_hurd_id.lock); -- cgit v1.1