Software needs to be resilient, and cope with all sorts of files that are encountered "in the wild", including those that are not entirely to-spec. Users don't care whether files strictly match a file format's specification down to the last letter; they care about whether the files work. If a file is processed correctly by all major software (or, in the case of application-specific formats, by the application it was originally intended for), then that file is, for all practical purposes, not corrupt.
If your software crashes on this file, or (worse) silently corrupts it, or otherwise misbehaves, that IS a genuine bug. The file not being completely to-spec is not an excuse to do whatever you want. Nobody likes nasal demons.
So when you write a utility that processes files, make it robust: be conservative in what you output, but liberal in what you accept as input. Do the right thing; and when users send you bug reports, appreciate that they invested time and effort into an attempt to help you improve your program, and don't rebuff them on technicalities, out of laziness.