diff options
author | Ulrich Sibiller <uli42@gmx.de> | 2022-01-19 00:45:43 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2023-04-27 14:08:46 +0200 |
commit | 4875a15ca61358a1c95b156b2279fce092451278 (patch) | |
tree | 79054df1730d4723658b02cec311bc8ba7655662 /nx-X11/lib/modules/im/ximcp/imLcPrs.c | |
parent | a502149a844736dcc7f7dedd7c63229c74a448ee (diff) | |
download | nx-libs-4875a15ca61358a1c95b156b2279fce092451278.tar.gz nx-libs-4875a15ca61358a1c95b156b2279fce092451278.tar.bz2 nx-libs-4875a15ca61358a1c95b156b2279fce092451278.zip |
Update libNX_X11 to upstream's libX11-1.7.3.1-10-gd60ede78
Diffstat (limited to 'nx-X11/lib/modules/im/ximcp/imLcPrs.c')
-rw-r--r-- | nx-X11/lib/modules/im/ximcp/imLcPrs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/nx-X11/lib/modules/im/ximcp/imLcPrs.c b/nx-X11/lib/modules/im/ximcp/imLcPrs.c index fa992e5d3..d374d6ca8 100644 --- a/nx-X11/lib/modules/im/ximcp/imLcPrs.c +++ b/nx-X11/lib/modules/im/ximcp/imLcPrs.c @@ -501,7 +501,7 @@ parseline( if ((filename = TransFileName(im, tokenbuf)) == NULL) goto error; infp = _XFopenFile(filename, "r"); - Xfree(filename); + Xfree(filename); if (infp == NULL) goto error; parsestringfile(infp, im, depth); @@ -676,8 +676,10 @@ parseline( goto error; b->tree = new; b->treesize = newsize; + /* Re-derive top after realloc() to avoid undefined behaviour + (and crashes on architectures that track pointer bounds). */ if (top >= (DTIndex *) old && top < (DTIndex *) &old[oldsize]) - top = (DTIndex *) (((char *) top) + (((char *)b->tree)-(char *)old)); + top = (DTIndex *) (((char *)new) + (((char *)top)-(char *)old)); } p = &b->tree[b->treeused]; p->keysym = buf[i].keysym; |