From: Darren Kenny Date: Tue, 26 Oct 2021 15:02:40 +0000 (+0000) Subject: io/gzio: Fix possible use of uninitialized variable in huft_build() X-Git-Tag: grub-2.12-rc1~529 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29d44a236a5e939b8ff24e6c31141d5b1e48f693;p=thirdparty%2Fgrub.git io/gzio: Fix possible use of uninitialized variable in huft_build() In huft_build() it is possible to reach the for loop where "r" is being assigned to "q[j]" without "r.v" ever being initialized. Fixes: CID 314024 Signed-off-by: Darren Kenny Reviewed-by: Daniel Kiper --- diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c index aea86a0a9..10156e569 100644 --- a/grub-core/io/gzio.c +++ b/grub-core/io/gzio.c @@ -447,7 +447,7 @@ huft_build (unsigned *b, /* code lengths in bits (all assumed <= BMAX) */ int l; /* bits per table (returned in m) */ register unsigned *p; /* pointer into c[], b[], or v[] */ register struct huft *q; /* points to current table */ - struct huft r; /* table entry for structure assignment */ + struct huft r = {0}; /* table entry for structure assignment */ struct huft *u[BMAX]; /* table stack */ unsigned v[N_MAX]; /* values in order of bit length */ register int w; /* bits before this table == (l * h) */