From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1792) id 64A473858D38; Mon, 2 Jan 2023 10:36:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 64A473858D38 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1672655781; bh=slNEPEqlFGsDNREdekZA53a6jBoikZgyO563oU0Bovc=; h=From:To:Subject:Date:From; b=KrtV6bPS+FF93Hjo5O9A846QmlU85o48Az8iPAyGEB4ZMViJpugwljjWyWMs8W6Q6 8SaspX+E6FBiQ0Zo953ZDe/SAf+RYqysI6kKdd9y5ARXzhFuo1skOvuNyqYsSbdtWQ oT2DN0C58irbwpNr9vurp8AtFeH0xxkcK5YRv0pA= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Samuel Thibault To: glibc-cvs@sourceware.org Subject: [glibc] hurd _S_msg_add_auth: Initialize new arrays to 0 X-Act-Checkin: glibc X-Git-Author: Samuel Thibault X-Git-Refname: refs/heads/master X-Git-Oldrev: 3a614f39e61140dd2478ce5b7564ec8a53269ea4 X-Git-Newrev: 6514b2d59545300b27785abaaacd0115ff61a18d Message-Id: <20230102103621.64A473858D38@sourceware.org> Date: Mon, 2 Jan 2023 10:36:21 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=6514b2d59545300b27785abaaacd0115ff61a18d commit 6514b2d59545300b27785abaaacd0115ff61a18d Author: Samuel Thibault Date: Mon Jan 2 01:08:38 2023 +0100 hurd _S_msg_add_auth: Initialize new arrays to 0 If make_list fails, they would be undefined, and freeup with free uninitialized pointers. Diff: --- hurd/hurdauth.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/hurd/hurdauth.c b/hurd/hurdauth.c index 9086e9484c..25cc8ee88d 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);