realloc allows NULL argument