[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master 242a4b49cb: Minor cleanups to X drag-and-drop code
From: |
Po Lu |
Subject: |
Re: master 242a4b49cb: Minor cleanups to X drag-and-drop code |
Date: |
Sun, 22 May 2022 15:50:35 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) |
Jashank Jeremy <jashank@rulingia.com.au> writes:
> Whilst chasing down the build failure against e465ea816d, I observed
> some compiler warnings related to this patch:
>
> .../emacs/src/src/xterm.c:1994:7: warning: variable 'data' is used
> uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
> if (rc)
> ^~
> .../emacs/src/src/xterm.c:2016:7: note: uninitialized use occurs here
> if (data[1] > XM_DRAG_PROTOCOL_VERSION)
> ^~~~
> .../emacs/src/src/xterm.c:1994:3: note: remove the 'if' if its condition
> is always true
> if (rc)
> ^~~~~~~
> .../emacs/src/src/xterm.c:1977:16: note: initialize the variable 'data'
> to silence this warning
> uint8_t *data;
> ^
> = NULL
>
> This looks like a plausible issue --- XGetWindowProperty looks to be
> fallible, and in the event it fails we're potentially dereferencing an
> uninitialised value. I suspect the check introduced in this commit
> should be within the immediately preceding region; however, I do not
> know what the implications of such a change would be, and thus won't
> concretely suggest one.
Silly compiler. If rc is true, tmp_data is always initialized.