https://docs.vala.dev/developer-guides/bindings/writing-a-vapi-manually/07-00-binding-a-c-function-s-parameter-and-return-types/07-03-arrays.html
Since Vala always allocates padding in arrays with the final element as null
It isn't true. string[] is indeed null terminated, but e.g. char*[] and uint[] aren't. Even const string[] isn't null terminated by design (https://gitlab.gnome.org/GNOME/vala/-/issues/1540).