summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorJosé Expósito <jexposit@redhat.com>2024-04-30 16:41:40 +0200
committerMarge Bot <emma+marge@anholt.net>2024-05-07 08:54:50 +0000
commiteaad761e24722b1743d3edee3383294bfb4947d6 (patch)
treea26f5b17c9b9b12788cb2652e473b6d187225126 /modules
parent4f5541193dd5a004ed5ea44c12fc25e227113c9b (diff)
Fix use of uninitialized variable in _XimExtension
`_XimRead()` is being called with `reply` as target buffer instead of using `preply`, accessing uninitialized memory a few lines later. This error has been found by a static analysis tool. This is the report: Error: UNINIT (CWE-457): libX11-1.8.7/modules/im/ximcp/imExten.c:468: alloc_fn: Calling "malloc" which returns uninitialized memory. libX11-1.8.7/modules/im/ximcp/imExten.c:468: assign: Assigning: "preply" = "malloc((size_t)((buf_size == 0) ? 1 : buf_size))", which points to uninitialized data. libX11-1.8.7/modules/im/ximcp/imExten.c:479: uninit_use: Using uninitialized value "*((CARD8 *)preply)". # 477| return False; # 478| buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE); # 479|-> if (*((CARD8 *)preply) == XIM_ERROR) { # 480| _XimProcError(im, 0, (XPointer)&buf_s[3]); # 481| if(reply != preply) Signed-off-by: José Expósito <jexposit@redhat.com> Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/250>
Diffstat (limited to 'modules')
-rw-r--r--modules/im/ximcp/imExten.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/modules/im/ximcp/imExten.c b/modules/im/ximcp/imExten.c
index c2e48a89..a25f00d0 100644
--- a/modules/im/ximcp/imExten.c
+++ b/modules/im/ximcp/imExten.c
@@ -466,7 +466,7 @@ _XimExtension(
} else {
buf_size = len;
preply = Xmalloc(buf_size);
- ret_code = _XimRead(im, &len, reply, buf_size,
+ ret_code = _XimRead(im, &len, preply, buf_size,
_XimQueryExtensionCheck, 0);
if(ret_code != XIM_TRUE) {
Xfree(preply);