Skip to content

patterns: Safely peek ahead one byte, and enable -Wp,-D_GLIBCXX_ASSERTIONS

Julian Andres Klode requested to merge jak/apt:glibcxx-assertions into main

The pattern tree parser was written using string_views in a no-copy fashion. However, at various places we assume that we can index one byte after the end of the string_view and get a NUL-byte there.

This works fine in practice because we only ever pass it zero-terminated string_views, but it fails if you compile with -Wp,-D_GLIBCXX_ASSERTIONS because it will do bounds checks.

So instead, do our own bounds checks here and always return '\0' if requesting one byte too many.

Reported-by: Christian Heusel christian@heusel.eu

Merge request reports

Loading