Hello,

Playing with the one of the *sum command, i noticed a weird behavior.

Depending on the order in the checksum file, we will get completely different results.

For example, this code reproduces the issue:

----

touch a
touch "*c"
echo "First test case:"
echo "d41d8cd98f00b204e9800998ecf8427e *c" > in.md5
echo "d41d8cd98f00b204e9800998ecf8427e a" >> in.md5
/usr/bin/md5sum --check in.md5
echo ""
echo "Second test case:"
echo "d41d8cd98f00b204e9800998ecf8427e a" > in.md5
echo "d41d8cd98f00b204e9800998ecf8427e *c" >> in.md5
/usr/bin/md5sum --check in.md5

----

Will return:
----
First test case:
/usr/bin/md5sum: c: No such file or directory
c: FAILED open or read
/usr/bin/md5sum: WARNING: 1 line is improperly formatted
/usr/bin/md5sum: WARNING: 1 listed file could not be read

Second test case:
a: OK
*c: OK
----

with:
md5sum (GNU coreutils) 9.4

Is that a bug?

I think I understand the technical reason even if I didn't check the code. I guess the parser will look at the first line
and think that it the "double space format".

Thanks
Sylvestre


Reply via email to