In ex17.c do ‘How To Break It’, after strncpy() add statement to ensure last character is null.
In ex16.c declare struct Bird declare name as fixed length. Then use strncpy and ensure last character is null, as in previous commit for ex17.c. Delete bird_destroy() and its call to free(a_bird.name).

In Xcode, Analyzer shows no warnings and Profile Instruments Leaks shows no leaks.