author | Jingning Ji <jingning.ji@oracle.com> |
Thu, 13 Oct 2016 15:53:44 -0700 | |
changeset 7113 | cca3def5f97d |
parent 5848 | 033405379235 |
permissions | -rw-r--r-- |
5848
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
1 |
From: Kamil Dudka <[email protected]> |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
2 |
Date: Mon, 14 Sep 2015 18:24:56 +0200 |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
3 |
Subject: fix infinite loop when extracting empty bzip2 data |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
4 |
Bug-Debian: https://bugs.debian.org/802160 |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
5 |
Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
6 |
Origin: other, https://bugzilla.redhat.com/attachment.cgi?id=1073339 |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
7 |
|
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
8 |
--- |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
9 |
extract.c | 6 ++++++ |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
10 |
1 file changed, 6 insertions(+) |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
11 |
|
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
12 |
--- a/extract.c |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
13 |
+++ b/extract.c |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
14 |
@@ -2728,6 +2728,12 @@ __GDEF |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
15 |
int repeated_buf_err; |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
16 |
bz_stream bstrm; |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
17 |
|
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
18 |
+ if (G.incnt <= 0 && G.csize <= 0L) { |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
19 |
+ /* avoid an infinite loop */ |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
20 |
+ Trace((stderr, "UZbunzip2() got empty input\n")); |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
21 |
+ return 2; |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
22 |
+ } |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
23 |
+ |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
24 |
#if (defined(DLL) && !defined(NO_SLIDE_REDIR)) |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
25 |
if (G.redirect_slide) |
033405379235
21802965 problem in UTILITY/ZIP
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
26 |
wsize = G.redirect_size, redirSlide = G.redirect_buffer; |