diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-05-18 14:00:31 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-05-18 14:00:31 +0200 |
commit | 692cbd0079658a8eb048c9b00dadec2d69d28b14 (patch) | |
tree | dafc0801eb08bde9674ed0543d3c091c00442543 /lib/sqfs/inode.c | |
parent | bf1ebf7c7989bf95307f594e6ea715fc1f7c3a1c (diff) |
libtar: fix size computation of PAX line length
This commit attempts to fix the following two problems:
- The number of digits computation returning an off-by-one result
if the number is 10, or the resulting digit string starts
with "10". This results in one-too-many padding bytes, corrupting
the rest of the archive since the headers now don't start at
multiples of 512 anymore.
- Adding the line length prefix affects the line length (duh). If it
grows far enough to require more digits, the result is a similar
problem. This is a converging series that we need to compute the
limit of.
Unit tests for this still need to be added. Or maybe I can convince a
bored undergrad student to provide an induction proof.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/sqfs/inode.c')
0 files changed, 0 insertions, 0 deletions