From 50894e13545538ed93f20823f7ba81d1ab8906bb Mon Sep 17 00:00:00 2001 From: Eamon Walsh Date: Thu, 9 Apr 2009 02:48:04 -0400 Subject: [PATCH] xselinux: Don't BadAlloc in List* requests if there are no items to list. (cherry picked from commit 682d7b55699cacbb2dbcd84a5e816bf6e2d2f02a) --- Xext/xselinux.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Xext/xselinux.c b/Xext/xselinux.c index a175c2caf..2a32bb857 100644 --- a/Xext/xselinux.c +++ b/Xext/xselinux.c @@ -1570,7 +1570,7 @@ SELinuxSendItemsToClient(ClientPtr client, SELinuxListItemRec *items, CARD32 *buf; buf = xcalloc(size, sizeof(CARD32)); - if (!buf) { + if (size && !buf) { rc = BadAlloc; goto out; } @@ -1642,7 +1642,7 @@ ProcSELinuxListProperties(ClientPtr client) for (pProp = wUserProps(pWin); pProp; pProp = pProp->next) count++; items = xcalloc(count, sizeof(SELinuxListItemRec)); - if (!items) + if (count && !items) return BadAlloc; /* Fill in the items and calculate size */ @@ -1676,7 +1676,7 @@ ProcSELinuxListSelections(ClientPtr client) for (pSel = CurrentSelections; pSel; pSel = pSel->next) count++; items = xcalloc(count, sizeof(SELinuxListItemRec)); - if (!items) + if (count && !items) return BadAlloc; /* Fill in the items and calculate size */