diff: Don't treat null characters like carriage returns in readhash().
The implicit fall-through in the !D_FORCEASCII case caused null characters to be treated as carriage returns honoring the D_STRIPCR, D_FOLDBLANKS, and D_IGNOREBLANKS flags. Reported by: GCC -Wimplicit-fallthrough Reviewed by: bapt Fixes: 3cbf98e2bee9 diff: read whole files to determine if they are ASCII text Differential Revision: https://reviews.freebsd.org/D36813
This commit is contained in:
parent
325ba12055
commit
4e0771714d
@ -1338,6 +1338,7 @@ readhash(FILE *f, int flags, unsigned *hash)
|
||||
case '\0':
|
||||
if ((flags & D_FORCEASCII) == 0)
|
||||
return (RH_BINARY);
|
||||
goto hashchar;
|
||||
case '\r':
|
||||
if (flags & D_STRIPCR) {
|
||||
t = getc(f);
|
||||
@ -1356,6 +1357,7 @@ readhash(FILE *f, int flags, unsigned *hash)
|
||||
}
|
||||
/* FALLTHROUGH */
|
||||
default:
|
||||
hashchar:
|
||||
if (space && (flags & D_IGNOREBLANKS) == 0) {
|
||||
i++;
|
||||
space = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user