A cleaner cleanup that avoids passing an off_t to scanf
This commit is contained in:
parent
9f4395c54e
commit
f4b273cbb4
@ -85,11 +85,15 @@ extern char get_header_cpio(archive_handle_t *archive_handle)
|
|||||||
error_msg_and_die("Unsupported cpio format, use newc or crc");
|
error_msg_and_die("Unsupported cpio format, use newc or crc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
unsigned long tmpsize;
|
||||||
sscanf(cpio_header, "%6c%8x%8x%8x%8x%8x%8lx%8lx%16c%8x%8x%8x%8c",
|
sscanf(cpio_header, "%6c%8x%8x%8x%8x%8x%8lx%8lx%16c%8x%8x%8x%8c",
|
||||||
dummy, &inode, (unsigned int*)&file_header->mode,
|
dummy, &inode, (unsigned int*)&file_header->mode,
|
||||||
(unsigned int*)&file_header->uid, (unsigned int*)&file_header->gid,
|
(unsigned int*)&file_header->uid, (unsigned int*)&file_header->gid,
|
||||||
&nlink, &file_header->mtime, (unsigned long*)&file_header->size,
|
&nlink, &file_header->mtime, &tmpsize,
|
||||||
dummy, &major, &minor, &namesize, dummy);
|
dummy, &major, &minor, &namesize, dummy);
|
||||||
|
file_header->size = tmpsize;
|
||||||
|
}
|
||||||
|
|
||||||
file_header->name = (char *) xmalloc(namesize + 1);
|
file_header->name = (char *) xmalloc(namesize + 1);
|
||||||
archive_xread_all(archive_handle, file_header->name, namesize); /* Read in filename */
|
archive_xread_all(archive_handle, file_header->name, namesize); /* Read in filename */
|
||||||
|
Loading…
Reference in New Issue
Block a user