msdos_format_name() bug?

From: Roel Kluin
Date: Mon Feb 02 2009 - 09:28:44 EST


in msdos_format_name(const unsigned char *name, int len, ...)

name is the proposed name, len is its length.

while (c != '.' && len--)
c = *name++;
if (c == '.') {
while (walk - res < 8)
*walk++ = ' ';
while (len > 0 && walk - res < MSDOS_NAME) {

Is the postfix decrement in the first loop correct, or should it be
prefix? (isn't that one character too many?)

If not, note that if the proposed name ends with a dot: e.g.
'myfile.' the first while loop iterates until the dot which ends
the loop, but because of the postfix decrement len already is 0,
so the third while loop won't start. Is that correct?

Roel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/