summaryrefslogtreecommitdiffstats
path: root/debian/patches/upstream/0001-zcat-buffer-overrun.patch
blob: 92d98a676a465b9390892e8c0279b3d25e81303a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Author: Antonio Diaz Diaz <antonio@gnu.org>
Description: zcat.cc: Fixed a buffer overrun on outbuf when '-v' is used.

diff -Naurp zutils/zcat.cc zutils/zcat.cc
--- zutils/zcat.cc
+++ zutils/zcat.cc
@@ -232,8 +232,9 @@ int cat( int infd, const int format_inde
   enum { buffer_size = 4096 };
   // buffer with space for sentinel newline at the end
   uint8_t * const inbuf = new uint8_t[buffer_size+1];
-  // buffer with space for character quoting and 255-digit line number
-  uint8_t * const outbuf = new uint8_t[(4*buffer_size)+256];
+  // buffer with space for character quoting, 255-digit line number and
+  // worst case flushing respect to inbuf.
+  uint8_t * const outbuf = new uint8_t[(5*buffer_size)+256];
   int retval = 0;
   Children children;
   if( !set_data_feeder( input_filename, &infd, children, format_index ) )