]> xenbits.xensource.com Git - people/tklengyel/xen.git/commitdiff
xen/gunzip: Move output count into gunzip_state
authorDaniel P. Smith <dpsmith@apertussolutions.com>
Wed, 24 Apr 2024 16:34:20 +0000 (12:34 -0400)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 9 May 2024 17:19:49 +0000 (18:19 +0100)
Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/common/gzip/gunzip.c
xen/common/gzip/inflate.c

index a04ddd7445af33ec9a282f74ca44f2b282ff1e4d..8770430312119183645476f7aa3753d1fa1b0fcd 100644 (file)
@@ -16,6 +16,8 @@ struct gunzip_state {
     unsigned int insize;
     /* Index of next byte to be processed in inbuf: */
     unsigned int inptr;
+
+    unsigned long bytes_out;
 };
 
 #define malloc(a)       xmalloc_bytes(a)
@@ -43,7 +45,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)
@@ -82,7 +83,7 @@ static __init void flush_window(struct gunzip_state *s)
     }
     crc = c;
 
-    bytes_out += s->wp;
+    s->bytes_out += s->wp;
     s->wp = 0;
 }
 
@@ -115,7 +116,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();
 
index 62179e6ed61269f8c4818840a598ea4e9185eba4..2d53391e74efa3dc9e3f01f7d39bd2491402fa21 100644 (file)
@@ -1210,7 +1210,9 @@ 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;
     }