about summary refs log tree commit diff
path: root/arch
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-09-15 22:11:55 +0000
committerRich Felker <dalias@aerifal.cx>2022-05-15 19:19:42 -0400
commit751bee0ee727e8d8b003c87cff77ac76f1dbecd6 (patch)
treee714f49ea914ba7560c2b22a3ef4ec6a371cbfb8 /arch
parentdcb31f6b450fdeed4dc364e15cd190e8562ea227 (diff)
downloadmusl-751bee0ee727e8d8b003c87cff77ac76f1dbecd6.tar.gz
musl-751bee0ee727e8d8b003c87cff77ac76f1dbecd6.tar.xz
musl-751bee0ee727e8d8b003c87cff77ac76f1dbecd6.zip
mntent: fix parsing lines with optional fields
According to fstab(5), the last two fields are optional, but this
wasn't accepted. After this change, only the first field is required,
which matches glibc's behaviour.

Using sscanf as before, it would have been impossible to differentiate
between 0 fields and 4 fields, because sscanf would have returned 0 in
both cases due to the use of assignment suppression and %n for the
string fields (which is important to avoid copying any strings). So
instead, before calling sscanf, initialize every string to the empty
string, and then we can check which strings are empty afterwards to
know how many fields were matched.
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions