From 3280a7298136325f541ce11c413345c2738751fd Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Oct 08 2013 19:51:14 +0000 Subject: cpio: treat read() errors properly Resolves: #996150 Version: 2.11-21 --- diff --git a/cpio-2.11-treat-read-errors.patch b/cpio-2.11-treat-read-errors.patch new file mode 100644 index 0000000..a92922c --- /dev/null +++ b/cpio-2.11-treat-read-errors.patch @@ -0,0 +1,41 @@ +commit 57288911a7882d663d6aa231158a3616f2ab2ed9 +Author: Pavel Raiskup +AuthorDate: Mon Sep 23 15:35:30 2013 +0200 +Commit: Pavel Raiskup +CommitDate: Mon Sep 23 16:42:11 2013 +0200 + + Use ssize_t for input buffer size + + Bug report: https://bugzilla.redhat.com/show_bug.cgi?id=996150 + + * src/global.c: Use ssize_t rather than size_t for input_size. + * src/extern.h: Likewise. + +diff --git a/src/extern.h b/src/extern.h +index ef00242..1e7193e 100644 +--- a/src/extern.h ++++ b/src/extern.h +@@ -83,7 +83,8 @@ extern int debug_flag; + extern char *input_buffer, *output_buffer; + extern char *in_buff, *out_buff; + extern size_t input_buffer_size; +-extern size_t input_size, output_size; ++extern ssize_t input_size; ++extern size_t output_size; + extern off_t input_bytes, output_bytes; + + extern char *directory_name; +diff --git a/src/global.c b/src/global.c +index e08e188..a08006e 100644 +--- a/src/global.c ++++ b/src/global.c +@@ -156,7 +156,8 @@ size_t input_buffer_size; + char *in_buff, *out_buff; + + /* Current number of bytes stored at `input_buff' and `output_buff'. */ +-size_t input_size, output_size; ++ssize_t input_size; ++size_t output_size; + + off_t input_bytes, output_bytes; + diff --git a/cpio.spec b/cpio.spec index 9e569d4..4911ed3 100644 --- a/cpio.spec +++ b/cpio.spec @@ -31,9 +31,14 @@ Patch8: cpio-2.11-crc-fips-nit.patch Patch9: cpio-2.11-arm-config-sub-guess.patch # Properly trim "crc" checksum to 32 bit number -# ~> downstream +# ~> upstream Patch10: cpio-2.11-crc-large-files.patch +# Allow treat read() errors by changing type of input_size to signed integer. +# ~> downstream +# ~> http://lists.gnu.org/archive/html/bug-cpio/2013-09/msg00005.html +Patch11: cpio-2.11-treat-read-errors.patch + Requires(post): /sbin/install-info Requires(preun): /sbin/install-info Provides: bundled(gnulib) @@ -67,6 +72,7 @@ Install cpio if you need a program to manage file archives. %patch8 -p1 -b .sum32-fips %patch9 -p1 -b .arm-config-guess-sub %patch10 -p1 -b .crc-big-files +%patch11 -p1 -b .treat-read-errors autoreconf -v @@ -115,8 +121,9 @@ fi %{_infodir}/*.info* %changelog -* Fri Sep 20 2013 Pavel Raiskup - 2.11-21 +* Tue Oct 08 2013 Pavel Raiskup - 2.11-21 - properly trim "crc" checksum to 32 bits (#1001965) +- allow treat read() errors (#996150) * Wed Mar 27 2013 Pavel Raiskup - 2.11-20 - fix another bogus date in changelog