[PATCH libdrm 1/4] drmSL: Fix neighbor printing
Jan Vesely
jan.vesely at rutgers.edu
Fri Mar 20 15:10:25 PDT 2015
v2: zero the update array instead of checking the return value.
SLLocate returns NULL both on failure and if the element is greater
than everything in the list
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---
xf86drmSL.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/xf86drmSL.c b/xf86drmSL.c
index acddb54..cf588ac 100644
--- a/xf86drmSL.c
+++ b/xf86drmSL.c
@@ -264,12 +264,14 @@ int drmSLLookupNeighbors(void *l, unsigned long key,
unsigned long *next_key, void **next_value)
{
SkipListPtr list = (SkipListPtr)l;
- SLEntryPtr update[SL_MAX_LEVEL + 1];
+ SLEntryPtr update[SL_MAX_LEVEL + 1] = {0};
int retcode = 0;
+ SLLocate(list, key, update);
+
*prev_key = *next_key = key;
*prev_value = *next_value = NULL;
-
+
if (update[0]) {
*prev_key = update[0]->key;
*prev_value = update[0]->value;
--
2.1.0
More information about the dri-devel
mailing list