diff options
| author | Eric Andersen <andersen@codepoet.org> | 2002-12-11 21:45:08 +0000 |
|---|---|---|
| committer | Eric Andersen <andersen@codepoet.org> | 2002-12-11 21:45:08 +0000 |
| commit | f4b273cbb417dfb6cca1bbd67b40bf7ef30c677c (patch) | |
| tree | bd785c0b3e2309f536c64a263d8194ea79510f37 | |
| parent | 9f4395c54e9e5507f2a59643f62bb42ef2601aab (diff) | |
| download | busybox-w32-f4b273cbb417dfb6cca1bbd67b40bf7ef30c677c.tar.gz busybox-w32-f4b273cbb417dfb6cca1bbd67b40bf7ef30c677c.tar.bz2 busybox-w32-f4b273cbb417dfb6cca1bbd67b40bf7ef30c677c.zip | |
A cleaner cleanup that avoids passing an off_t to scanf
| -rw-r--r-- | archival/libunarchive/get_header_cpio.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/archival/libunarchive/get_header_cpio.c b/archival/libunarchive/get_header_cpio.c index 96057a7b8..ea0857840 100644 --- a/archival/libunarchive/get_header_cpio.c +++ b/archival/libunarchive/get_header_cpio.c | |||
| @@ -85,11 +85,15 @@ extern char get_header_cpio(archive_handle_t *archive_handle) | |||
| 85 | error_msg_and_die("Unsupported cpio format, use newc or crc"); | 85 | error_msg_and_die("Unsupported cpio format, use newc or crc"); |
| 86 | } | 86 | } |
| 87 | 87 | ||
| 88 | sscanf(cpio_header, "%6c%8x%8x%8x%8x%8x%8lx%8lx%16c%8x%8x%8x%8c", | 88 | { |
| 89 | dummy, &inode, (unsigned int*)&file_header->mode, | 89 | unsigned long tmpsize; |
| 90 | (unsigned int*)&file_header->uid, (unsigned int*)&file_header->gid, | 90 | sscanf(cpio_header, "%6c%8x%8x%8x%8x%8x%8lx%8lx%16c%8x%8x%8x%8c", |
| 91 | &nlink, &file_header->mtime, (unsigned long*)&file_header->size, | 91 | dummy, &inode, (unsigned int*)&file_header->mode, |
| 92 | dummy, &major, &minor, &namesize, dummy); | 92 | (unsigned int*)&file_header->uid, (unsigned int*)&file_header->gid, |
| 93 | &nlink, &file_header->mtime, &tmpsize, | ||
| 94 | dummy, &major, &minor, &namesize, dummy); | ||
| 95 | file_header->size = tmpsize; | ||
| 96 | } | ||
| 93 | 97 | ||
| 94 | file_header->name = (char *) xmalloc(namesize + 1); | 98 | file_header->name = (char *) xmalloc(namesize + 1); |
| 95 | archive_xread_all(archive_handle, file_header->name, namesize); /* Read in filename */ | 99 | archive_xread_all(archive_handle, file_header->name, namesize); /* Read in filename */ |
