[Xcb-commit] xcb/util-cursor: cursor

Michael Stapelberg stapelberg at kemper.freedesktop.org
Sun Mar 22 09:12:00 PDT 2015


 cursor/load_cursor.c |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit cf26479ece9ab9e04616bc10ba674d88a284e5b0
Author: Martin Gräßlin <mgraesslin at kde.org>
Date:   Tue Mar 17 18:41:07 2015 +0100

    Perform safety check before trying to load glyph cursor
    
    The passed in cursor name to xcb_cursor_load_cursor might not match
    one of the predefined font cursor values. Without the check the
    call to create glyph cursor will fail with a BadValue error, but
    the library returns the id allocated for the xcb_cursor_t. A user
    of the library gets a value which looks like a valid cursor, but
    when using it for e.g. a cursor value in xcb_create_window it raises
    a BadCursor error.

diff --git a/cursor/load_cursor.c b/cursor/load_cursor.c
index 914950a..53da009 100644
--- a/cursor/load_cursor.c
+++ b/cursor/load_cursor.c
@@ -207,6 +207,8 @@ xcb_cursor_t xcb_cursor_load_cursor(xcb_cursor_context_t *c, const char *name) {
     if (fd == -1 || core_char > -1) {
         if (core_char == -1)
             core_char = cursor_shape_to_id(name);
+        if (core_char == -1)
+            return XCB_NONE;
 
         cid = xcb_generate_id(c->conn);
         xcb_create_glyph_cursor(c->conn, cid, c->cursor_font, c->cursor_font, core_char, core_char + 1, 0, 0, 0, 65535, 65535, 65535);


More information about the xcb-commit mailing list