False positive with -Wnull-dereference?

Hi all,

I'm trying to understand a warning given by r123839:

/freetype2/src/cache/ftccache.c:468:5: warning: indirection of non-
volatile null pointer will be deleted, not trap [-Wnull-dereference]
    FTC_CACHE_TRYLOOP_END( NULL );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /freetype2/src/cache/ftcache.c:23:
In file included from /freetype2/src/cache/ftcmanag.c:21:
In file included from /freetype2/src/cache/ftcmanag.h:69:
/freetype2/src/cache/ftccache.h:336:9: note: instantiated from:
        *(FT_Bool*)( list_changed ) = TRUE; \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~

I think it's a false positive because the code is:

#define FTC_CACHE_TRYLOOP_END( list_changed ) \
      if ( !error || error != FTC_Err_Out_Of_Memory ) \
        break; \
                                                                  \
      _try_done = FTC_Manager_FlushN( _try_manager, _try_count ); \
      if ( _try_done > 0 && ( list_changed ) ) \
        *(FT_Bool*)( list_changed ) = TRUE; \

Before dereferencing "list_changed" null is tested for.

Is the warning wrong?

Thanks,