diff --git a/libavdevice/xcbgrab.c b/libavdevice/xcbgrab.c index 2fdb99255a..1657b7d8d8 100644 --- a/libavdevice/xcbgrab.c +++ b/libavdevice/xcbgrab.c @@ -596,21 +596,19 @@ static av_cold int xcbgrab_read_header(AVFormatContext *s) const xcb_setup_t *setup; char *display_name = av_strdup(s->filename); - if (s->filename) { - if (!display_name) - return AVERROR(ENOMEM); + if (!display_name) + return AVERROR(ENOMEM); - if (!sscanf(s->filename, "%[^+]+%d,%d", display_name, &c->x, &c->y)) { - *display_name = 0; - sscanf(s->filename, "+%d,%d", &c->x, &c->y); - } + if (!sscanf(s->filename, "%[^+]+%d,%d", display_name, &c->x, &c->y)) { + *display_name = 0; + sscanf(s->filename, "+%d,%d", &c->x, &c->y); } c->conn = xcb_connect(display_name, &screen_num); av_freep(&display_name); if ((ret = xcb_connection_has_error(c->conn))) { av_log(s, AV_LOG_ERROR, "Cannot open display %s, error %d.\n", - s->filename ? s->filename : "default", ret); + (*s->filename) ? s->filename : "default", ret); return AVERROR(EIO); } setup = xcb_get_setup(c->conn);