hexdump: don't unconditionally limit the usable address range
No binary (build failed)
—
(log yok)
| @@ -333,7 +333,7 @@ static void do_skip(priv_dumper_t *dumper, const char *fname, int statok) | |
| return; | |
| } | |
| } | |
| - | if (fseek(stdin, dumper->pub.dump_skip, SEEK_SET)) { |
| + | if (fseeko(stdin, dumper->pub.dump_skip, SEEK_SET)) { |
| bb_simple_perror_msg_and_die(fname); | |
| } | |
| dumper->address += dumper->pub.dump_skip; | |
| @@ -116,7 +116,12 @@ int hexdump_main(int argc, char **argv) | |
| dumper->dump_length = xatoi_positive(optarg); | |
| } /* else */ | |
| if (ch == 's') { /* compat: -s accepts hex numbers too */ | |
| - | dumper->dump_skip = xstrtoul_range_sfx(optarg, /*base:*/ 0, /*lo:*/ 0, /*hi:*/ LONG_MAX, suffixes); |
| + | dumper->dump_skip = xstrtoul_range_sfx( |
| + | optarg, |
| + | /*base:*/ 0, |
| + | /*lo:*/ 0, /*hi:*/ OFF_T_MAX, |
| + | suffixes |
| + | ); |
| } /* else */ | |
| if (ch == 'v') { | |
| dumper->dump_vflag = ALL; | |