Module: libav
Branch: master
Commit: 5f5b78aca35d07c771f5c4c73a984be9fe04a0b8

Author:    Luca Barbato <[email protected]>
Committer: Luca Barbato <[email protected]>
Date:      Thu Mar  5 09:44:55 2015 +0100

xcbgrab: Free the host string after checking the connection

Prevent an use after free in the error message.

Bug-Id: CID 1274040
CC: [email protected]

---

 libavdevice/xcbgrab.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/libavdevice/xcbgrab.c b/libavdevice/xcbgrab.c
index c4db983..20a29d1 100644
--- a/libavdevice/xcbgrab.c
+++ b/libavdevice/xcbgrab.c
@@ -607,14 +607,17 @@ static av_cold int xcbgrab_read_header(AVFormatContext *s)
 
     c->conn = xcb_connect(host, &screen_num);
 
-    if (opts)
-        av_free(host);
-
     if ((ret = xcb_connection_has_error(c->conn))) {
         av_log(s, AV_LOG_ERROR, "Cannot open display %s, error %d.\n",
                s->filename[0] ? host : "default", ret);
+        if (opts)
+            av_freep(&host);
         return AVERROR(EIO);
     }
+
+    if (opts)
+        av_freep(&host);
+
     setup = xcb_get_setup(c->conn);
 
     c->screen = get_screen(setup, screen_num);

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to