decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback()

What's happening is the `ptr' argument to that function is NULL for me
every time. `ptr' is unconditionally dereferenced to generate a log
message, and this is where mpd crashes.

Attached is a simple patch that tests for NULL and omits the log. With
this patch the crash disappeared and mpd went back to working well.
This commit is contained in:
Charles Kerr 2010-04-11 19:18:30 +02:00 committed by Max Kellermann
parent c52f469c9c
commit 6a95898038
1 changed files with 9 additions and 4 deletions

View File

@ -67,11 +67,16 @@ static void
mpd_ffmpeg_log_callback(G_GNUC_UNUSED void *ptr, int level,
const char *fmt, va_list vl)
{
const AVClass *cls = *(const AVClass *const*)ptr;
char *domain = g_strconcat(G_LOG_DOMAIN, "/", cls->item_name(ptr), NULL);
const AVClass * cls = NULL;
g_logv(domain, level_ffmpeg_to_glib(level), fmt, vl);
g_free(domain);
if (ptr != NULL)
cls = *(const AVClass *const*)ptr;
if (cls != NULL) {
char *domain = g_strconcat(G_LOG_DOMAIN, "/", cls->item_name(ptr), NULL);
g_logv(domain, level_ffmpeg_to_glib(level), fmt, vl);
g_free(domain);
}
}
#endif /* !OLD_FFMPEG_INCLUDES */