char ext[] = "\0ext";
A character array isn't null terminated unless you make it null terminated. In this case, you have 4 characters: a null *prefix* (\0) and 'e', 'x', 't'.
--- ENiGMA 1/2 v0.0.7-alpha (linux; x64; 6.10.3)
* Origin: Xibalba -+- xibalba.l33t.codes:44510 (21:1/121)