github gbdev/rgbds v1.0.1

20 hours ago

Happy New Year! 🎊 🐎

As promised, we use semantic versioning now, so 1.0.1 being a "patch" release means that it's fully backwards compatble with 1.0.0. All that's changed is fixing various bugs (and typos, internal refactorings, etc).

(Many of these bugs were found with the "fuzzing" tool AFL++, so they involve unrealistic inputs which would be unlikely or impossible in normal usage of RGBDS. Still, even specifically-crafted garbage inputs should give sensible error messages and not crash, so we try to find and fix these.)

RGBASM:

  • Symbol names of just three or more periods ("...", "....", etc) were mistakenly allowed
  • SECTION UNION was mistakenly allowed for ROM sections (when there was no second SECTION UNION of the same name)
  • -MG and -MC were not accounting for -P/--preinclude files
  • Non-UTF-8 "garbage" characters at the end of a file could hang in an infinite loop

RGBLINK:

  • Undefined symbols could cause extra warning messages about meaningless values in expressions
  • Various invalid object files (which RGBASM would not output in the first place) could print misleading error messages or outright crash

RGBGFX:

  • Input images with ambiguous alpha channel values (neither transparent nor opaque) could crash due to an assertion failure
  • Clarify documentation of rgbgfx -C/--color-curve
  • Improve some error messages

All programs:

  • Some errors with command-line options could be incorrectly reported (due to inaccurate errno values)
  • For RGBASM and RGBLINK, very long error location backtraces could crash with a stack overflow (only ever observed during fuzzing)

Don't miss a new rgbds release

NewReleases is sending notifications on new releases.