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 <darren.ke...@oracle.com>
---
 grub-core/io/gzio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c
index aea86a0a9a92..10156e569c85 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) */
-- 
2.27.0


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to