It looks to me like the line:
if (!(binary = fopen(args[0], “w”)))
in target.c
should instead have “wb”
I noticed the problem when running under Windows XP.
Wherever the binary image on-chip had 0x0A, an extra 0x0D byte was inserted into the dump.