Page MenuHomeFreeBSD

ar: handle partial writes from archive_write_data
ClosedPublic

Authored by emaste on Jul 24 2017, 8:45 PM.
Tags
None
Referenced Files
F174664764: D11715.id31135.diff
Mon, Oct 5, 1:28 AM
F174657201: D11715.id31130.diff
Mon, Oct 5, 12:25 AM
F174650428: D11715.diff
Sun, Oct 4, 11:04 PM
Unknown Object (File)
Thu, Sep 17, 9:25 PM
Unknown Object (File)
Thu, Sep 17, 9:10 PM
Unknown Object (File)
Thu, Sep 17, 9:10 PM
Unknown Object (File)
Wed, Sep 9, 12:59 PM
Unknown Object (File)
Tue, Sep 8, 4:11 PM
Subscribers

Details

Summary

It appears libarchive limits writes from a single archive_write_data() call to 0x7fffffff bytes.

from contrib/libarchive/libarchive/archive_write.c

        const size_t max_write = INT_MAX;
...
        /* In particular, this catches attempts to pass negative values. */
        if (s > max_write)
                s = max_write;
...
        return ((a->format_write_data)(a, buff, s));

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

emaste added a subscriber: kib.
This revision is now accepted and ready to land.Jul 24 2017, 9:01 PM
This revision was automatically updated to reflect the committed changes.