[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH] libc: Segfault in tree_prev/next() bei leerem Baum gefixt
! libc: Wenn der Baum keine Wurzel hat, muss gleich NULL zurueckgegeben
werden, sonst gibt es einen Nullpointerzugriff.
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
src/lib/collections/tree.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/lib/collections/tree.c b/src/lib/collections/tree.c
index 87dbcea..d565fa8 100644
--- a/src/lib/collections/tree.c
+++ b/src/lib/collections/tree.c
@@ -473,6 +473,9 @@ void* tree_prev(tree_t* tree, void* node)
if (node == NULL) {
current = tree->root;
+ if (current == NULL) {
+ return NULL;
+ }
} else {
// Irgendwo mitten im Baum ist es einfach, den Vorgaenger zu finden:
@@ -517,6 +520,9 @@ void* tree_next(tree_t* tree, void* node)
if (node == NULL) {
current = tree->root;
+ if (current == NULL) {
+ return NULL;
+ }
} else {
// Das ist im Prinzip ein tree_prev mit links und rechts vertauscht
--
1.6.0.2