|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] xen/gunzip: Move output count into gunzip_state
commit d386a383dd6fe937cbd05ea9502f5e6059ad3036
Author: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
AuthorDate: Wed Apr 24 12:34:20 2024 -0400
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Thu May 9 18:19:49 2024 +0100
xen/gunzip: Move output count into gunzip_state
Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
xen/common/gzip/gunzip.c | 7 ++++---
xen/common/gzip/inflate.c | 4 +++-
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index a04ddd7445..8770430312 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -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();
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 62179e6ed6..2d53391e74 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -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;
}
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |