aboutsummaryrefslogtreecommitdiff
path: root/archival/cpio.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--archival/cpio.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/archival/cpio.c b/archival/cpio.c
index f0d990048..b033b3733 100644
--- a/archival/cpio.c
+++ b/archival/cpio.c
@@ -350,6 +350,12 @@ static NOINLINE int cpio_o(void)
350 st.st_dev = st.st_rdev = 0; 350 st.st_dev = st.st_rdev = 0;
351#endif 351#endif
352 352
353 if (sizeof(st.st_size) > 4
354 && st.st_size > (off_t)0xffffffff
355 ) {
356 bb_error_msg_and_die("error: file '%s' is larger than 4GB", name);
357 }
358
353 bytes += printf("070701" 359 bytes += printf("070701"
354 "%08X%08X%08X%08X%08X%08X%08X" 360 "%08X%08X%08X%08X%08X%08X%08X"
355 "%08X%08X%08X%08X" /* GNU cpio uses uppercase hex */ 361 "%08X%08X%08X%08X" /* GNU cpio uses uppercase hex */
@@ -421,6 +427,7 @@ int cpio_main(int argc UNUSED_PARAM, char **argv)
421#endif 427#endif
422#endif 428#endif
423 "owner\0" Required_argument "R" 429 "owner\0" Required_argument "R"
430 "file\0" Required_argument "F"
424 "verbose\0" No_argument "v" 431 "verbose\0" No_argument "v"
425 "null\0" No_argument "0" 432 "null\0" No_argument "0"
426 "quiet\0" No_argument "\xff" 433 "quiet\0" No_argument "\xff"