[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