cpio: error out if the file to be achived is >=4GB
function old new delta .rodata 105715 105751 +36 cpio_o 1145 1167 +22 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 58/0) Total: 58 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
f13f68288f
commit
5f07327251
1 changed files with 6 additions and 0 deletions
|
@ -350,6 +350,12 @@ static NOINLINE int cpio_o(void)
|
||||||
st.st_dev = st.st_rdev = 0;
|
st.st_dev = st.st_rdev = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (sizeof(st.st_size) > 4
|
||||||
|
&& st.st_size > (off_t)0xffffffff
|
||||||
|
) {
|
||||||
|
bb_error_msg_and_die("error: file '%s' is larger than 4GB", name);
|
||||||
|
}
|
||||||
|
|
||||||
bytes += printf("070701"
|
bytes += printf("070701"
|
||||||
"%08X%08X%08X%08X%08X%08X%08X"
|
"%08X%08X%08X%08X%08X%08X%08X"
|
||||||
"%08X%08X%08X%08X" /* GNU cpio uses uppercase hex */
|
"%08X%08X%08X%08X" /* GNU cpio uses uppercase hex */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue