dix: dixChangeWindowProperty: don't call memcpy if malloc failed
It shouldn't matter, since it would have a length of 0, but it clears warnings from gcc 14.1: ../dix/property.c: In function ‘dixChangeWindowProperty’: ../dix/property.c:287:9: warning: use of possibly-NULL ‘data’ where non-null expected [CWE-690] [-Wanalyzer-possible-null-argument] 287 | memcpy(data, value, totalSize); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../dix/property.c:324:13: warning: use of possibly-NULL ‘data’ where non-null expected [CWE-690] [-Wanalyzer-possible-null-argument] 324 | memcpy(data, value, totalSize); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1673>
This commit is contained in:
parent
462d13c2f6
commit
10cafd0bbe
|
@ -280,11 +280,13 @@ dixChangeWindowProperty(ClientPtr pClient, WindowPtr pWin, Atom property,
|
|||
if (!pProp)
|
||||
return BadAlloc;
|
||||
data = malloc(totalSize);
|
||||
if (!data && len) {
|
||||
dixFreeObjectWithPrivates(pProp, PRIVATE_PROPERTY);
|
||||
return BadAlloc;
|
||||
if (totalSize) {
|
||||
if (!data) {
|
||||
dixFreeObjectWithPrivates(pProp, PRIVATE_PROPERTY);
|
||||
return BadAlloc;
|
||||
}
|
||||
memcpy(data, value, totalSize);
|
||||
}
|
||||
memcpy(data, value, totalSize);
|
||||
pProp->propertyName = property;
|
||||
pProp->type = type;
|
||||
pProp->format = format;
|
||||
|
@ -317,9 +319,11 @@ dixChangeWindowProperty(ClientPtr pClient, WindowPtr pWin, Atom property,
|
|||
|
||||
if (mode == PropModeReplace) {
|
||||
data = malloc(totalSize);
|
||||
if (!data && len)
|
||||
return BadAlloc;
|
||||
memcpy(data, value, totalSize);
|
||||
if (totalSize) {
|
||||
if (!data)
|
||||
return BadAlloc;
|
||||
memcpy(data, value, totalSize);
|
||||
}
|
||||
pProp->data = data;
|
||||
pProp->size = len;
|
||||
pProp->type = type;
|
||||
|
|
Loading…
Reference in New Issue