On 24/04/2024 5:34 pm, Daniel P. Smith wrote: > Move the crc and its state into struct gunzip_state. In the process, expand > the > only use of CRC_VALUE as it is hides what is being compared.
"All variables here should be uint32_t rather than unsigned long, which halves the storage space required." > diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c > index 8da14880cfbe..dc940e59d853 100644 > --- a/xen/common/gzip/inflate.c > +++ b/xen/common/gzip/inflate.c > @@ -1069,11 +1065,11 @@ static void __init makecrc(void) > if (k & 1) > c ^= e; > } > - crc_32_tab[i] = c; > + s->crc_32_tab[i] = c; > } > > /* this is initialized here so this code could reside in ROM */ > - crc = (ulg)0xffffffffUL; /* shift register contents */ > + s->crc = (ulg)~0u; /* shift register contents */ The (ulg) wasn't ever necessary, and can be dropped as part of this cleanup. Can fix on commit. ~Andrew