SDL_GetPreferredLocales crash

I use last SDL Sources from commit 77ff0b252a184c42e494d3f8e2ec997cf8ee4e27

When I try to view all locales I get app crash. What I’m doind wrong?

{
    SDL_Locale* locales = SDL_GetPreferredLocales();
    {
        SDL_Locale* p = locales;
        while (p) {
            logDebug("locale = %s", (p->language ? p->language : "empty"));
            logDebug("increase p");
            ++p;
        }
        logDebug("after cycle");
    }
    logDebug("before SDL_free");
    SDL_free(locales);
    logDebug("after SDL_free");
}

DEBUG: 00:00:00.000 | main.cpp  | SDL_main | 74 | Compiled version: 2.013; Linked version: 2.013, Revision: hg-0:aaaaaaaaaaah
DEBUG: 00:00:00.547 | main.cpp  | SDL_main | 86 | locale = ru
DEBUG: 00:00:00.547 | main.cpp  | SDL_main | 87 | increase p
DEBUG: 00:00:00.547 | main.cpp  | SDL_main | 86 | locale = en
DEBUG: 00:00:00.548 | main.cpp  | SDL_main | 87 | increase p
DEBUG: 00:00:00.548 | main.cpp  | SDL_main | 86 | locale = empty
DEBUG: 00:00:00.548 | main.cpp  | SDL_main | 87 | increase p

Looks like I should use

while (p->language) {