diff --git a/v2/engine/strings.c b/v2/engine/strings.c index 9812de3d7..5fb894f6b 100644 --- a/v2/engine/strings.c +++ b/v2/engine/strings.c @@ -27,7 +27,11 @@ static void assert_invariants( string * self ) assert( self->size < self->capacity ); assert( ( self->capacity <= sizeof( self->opt ) ) == ( self->value == self->opt ) ); - assert( strlen( self->value ) == self->size ); + assert( self->value[ self->size ] == 0 ); + /* String objects modified manually after construction to contain embedded + * '\0' characters are considered structurally valid. + */ + assert( strlen( self->value ) <= self->size ); for ( i = 0; i < 4; ++i ) {