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
951c6ac12c
commit
e99a8f18ef
|
@ -324,11 +324,13 @@ dixChangeWindowProperty(ClientPtr pClient, WindowPtr pWin, Atom property,
|
||||||
if (!pProp)
|
if (!pProp)
|
||||||
return BadAlloc;
|
return BadAlloc;
|
||||||
data = malloc(totalSize);
|
data = malloc(totalSize);
|
||||||
if (!data && len) {
|
if (totalSize) {
|
||||||
dixFreeObjectWithPrivates(pProp, PRIVATE_PROPERTY);
|
if (!data) {
|
||||||
return BadAlloc;
|
dixFreeObjectWithPrivates(pProp, PRIVATE_PROPERTY);
|
||||||
|
return BadAlloc;
|
||||||
|
}
|
||||||
|
memcpy(data, value, totalSize);
|
||||||
}
|
}
|
||||||
memcpy(data, value, totalSize);
|
|
||||||
pProp->propertyName = property;
|
pProp->propertyName = property;
|
||||||
pProp->type = type;
|
pProp->type = type;
|
||||||
pProp->format = format;
|
pProp->format = format;
|
||||||
|
@ -361,9 +363,11 @@ dixChangeWindowProperty(ClientPtr pClient, WindowPtr pWin, Atom property,
|
||||||
|
|
||||||
if (mode == PropModeReplace) {
|
if (mode == PropModeReplace) {
|
||||||
data = malloc(totalSize);
|
data = malloc(totalSize);
|
||||||
if (!data && len)
|
if (totalSize) {
|
||||||
return BadAlloc;
|
if (!data)
|
||||||
memcpy(data, value, totalSize);
|
return BadAlloc;
|
||||||
|
memcpy(data, value, totalSize);
|
||||||
|
}
|
||||||
pProp->data = data;
|
pProp->data = data;
|
||||||
pProp->size = len;
|
pProp->size = len;
|
||||||
pProp->type = type;
|
pProp->type = type;
|
||||||
|
|
Loading…
Reference in New Issue