aboutsummaryrefslogtreecommitdiffstats
path: root/community/cpio/fix-signed-integer-overflow-big-block-sizes.patch
blob: da2691ed8786123f6809260ee419527225ee2f70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
commit 404600ebb4d417238bfabf7ec1561a62dc83c168
Author: grajagandev <dmoorefo@gmail.com>
Date:   Mon Feb 8 07:58:45 2016 -0800

    Fix signed integer overflow - big block sizes

diff --git a/src/main.c b/src/main.c
index a13861f..5a30a7b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -321,7 +321,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
 
     case BLOCK_SIZE_OPTION:		/* --block-size */
       io_block_size = atoi (arg);
-      if (io_block_size < 1)
+      if (io_block_size < 1 || io_block_size > INT_MAX/512)
 	USAGE_ERROR ((0, 0, _("invalid block size")));
       io_block_size *= 512;
       break;