Message ID | 20240424163422.23276-7-dpsmith@apertussolutions.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Clean up of gzip decompressor | expand |
On 24.04.2024 18:34, Daniel P. Smith wrote: > --- a/xen/common/gzip/gunzip.c > +++ b/xen/common/gzip/gunzip.c > @@ -15,6 +15,8 @@ struct gunzip_state { > size_t insize; > /* Index of next byte to be processed in inbuf: */ > unsigned int inptr; > + > + unsigned long bytes_out; > }; The conversion to unsigned long from ... > @@ -42,7 +44,6 @@ typedef unsigned long ulg; > # define Tracecv(c, x) > #endif > > -static long __initdata bytes_out; ... this originally wants justifying in the (then no longer empty) description. It's not a lot that needs saying, but such a type change cannot go entirely silently. Jan
diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c index 3fb9589b069e..95d924d36726 100644 --- a/xen/common/gzip/gunzip.c +++ b/xen/common/gzip/gunzip.c @@ -15,6 +15,8 @@ struct gunzip_state { size_t insize; /* Index of next byte to be processed in inbuf: */ unsigned int inptr; + + unsigned long bytes_out; }; #define malloc(a) xmalloc_bytes(a) @@ -42,7 +44,6 @@ typedef unsigned long ulg; # define Tracecv(c, x) #endif -static long __initdata bytes_out; static void flush_window(struct gunzip_state *s); static __init void error(const char *x) @@ -80,7 +81,7 @@ static __init void flush_window(struct gunzip_state *s) } crc = c; - bytes_out += (unsigned long)s->wp; + s->bytes_out += (unsigned long)s->wp; s->wp = 0; } @@ -113,7 +114,7 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len) s->inbuf = (unsigned char *)image; s->insize = image_len; s->inptr = 0; - bytes_out = 0; + s->bytes_out = 0; makecrc(); diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c index f1a3b04cef8f..bec8801df487 100644 --- a/xen/common/gzip/inflate.c +++ b/xen/common/gzip/inflate.c @@ -1196,7 +1196,7 @@ static int __init gunzip(struct gunzip_state *s) error("crc error"); return -1; } - if (orig_len != bytes_out) { + if (orig_len != s->bytes_out) { error("length error"); return -1; }
Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com> --- xen/common/gzip/gunzip.c | 7 ++++--- xen/common/gzip/inflate.c | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-)