Use 12 octal digits in mtar_raw_header_t::size
This commit is contained in:
parent
397bb694fd
commit
3cd8e0fef8
5
third_party/microtar/src/microtar.c
vendored
5
third_party/microtar/src/microtar.c
vendored
@ -105,7 +105,7 @@ static int raw_to_header(mtar_header_t *h, const mtar_raw_header_t *rh) {
|
|||||||
/* Load raw header into header */
|
/* Load raw header into header */
|
||||||
sscanf(rh->mode, "%o", &h->mode);
|
sscanf(rh->mode, "%o", &h->mode);
|
||||||
sscanf(rh->owner, "%o", &h->owner);
|
sscanf(rh->owner, "%o", &h->owner);
|
||||||
sscanf(rh->size, "%lo", &h->size);
|
sscanf(rh->size, "%12lo", &h->size);
|
||||||
sscanf(rh->mtime, "%o", &h->mtime);
|
sscanf(rh->mtime, "%o", &h->mtime);
|
||||||
h->type = rh->type;
|
h->type = rh->type;
|
||||||
strcpy(h->name, rh->name);
|
strcpy(h->name, rh->name);
|
||||||
@ -332,6 +332,9 @@ int mtar_write_header(mtar_t *tar, const mtar_header_t *h) {
|
|||||||
|
|
||||||
int mtar_write_file_header(mtar_t *tar, const char *name, mtar_size_t size) {
|
int mtar_write_file_header(mtar_t *tar, const char *name, mtar_size_t size) {
|
||||||
mtar_header_t h;
|
mtar_header_t h;
|
||||||
|
if (size >= 0777777777777) {
|
||||||
|
return MTAR_EFAILURE;
|
||||||
|
}
|
||||||
/* Build header */
|
/* Build header */
|
||||||
memset(&h, 0, sizeof(h));
|
memset(&h, 0, sizeof(h));
|
||||||
strcpy(h.name, name);
|
strcpy(h.name, name);
|
||||||
|
Loading…
Reference in New Issue
Block a user