rhythmbox compile failed with gcc9
with gcc9.2.1, compile rhythmbox will get failed like this:
In file included from rb-file-helpers.c:51: rb-file-helpers.c: In function 'rb_find_plugin_data_file': rb-debug.h:41:23: error: '%s' directive argument is null [-Werror=format-overflow=] 41 | #define rb_debug(...) rb_debug_realf (__FUNCTION__, __FILE__, __LINE__, TRUE, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rb-file-helpers.c:278:2: note: in expansion of macro 'rb_debug' 278 | rb_debug ("found '%s' when searching for file '%s' for plugin '%s'", | ^~~~~~~~ rb-file-helpers.c:278:20: note: format string is defined here 278 | rb_debug ("found '%s' when searching for file '%s' for plugin '%s'", | ^~ cc1: all warnings being treated as errors
the code is here:
270 if (ret == NULL) { 271 const char *f; 272 f = rb_file (name); 273 if (f != NULL) { 274 ret = g_strdup (f); 275 } 276 } 277 278 rb_debug ("found '%s' when searching for file '%s' for plugin '%s'", 279 ret, name, plugin_name);
in the rb_debug, the ret may be null in exception branch.