Module Name: src Committed By: riastradh Date: Fri Aug 22 17:17:02 UTC 2014
Modified Files: src/common/lib/libc/gen: rb.c Log Message: Fix failure case in rb_tree_find_node_leq/geq. Return NULL, not `NULL - offset'. XXX pullup to netbsd-5, netbsd-6, netbsd-7 To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/common/lib/libc/gen/rb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/common/lib/libc/gen/rb.c diff -u src/common/lib/libc/gen/rb.c:1.11 src/common/lib/libc/gen/rb.c:1.12 --- src/common/lib/libc/gen/rb.c:1.11 Mon Jun 20 09:11:16 2011 +++ src/common/lib/libc/gen/rb.c Fri Aug 22 17:17:02 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: rb.c,v 1.11 2011/06/20 09:11:16 mrg Exp $ */ +/* $NetBSD: rb.c,v 1.12 2014/08/22 17:17:02 riastradh Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -39,10 +39,10 @@ #else #define KASSERT(s) do { } while (/*CONSTCOND*/ 0) #endif -__RCSID("$NetBSD: rb.c,v 1.11 2011/06/20 09:11:16 mrg Exp $"); +__RCSID("$NetBSD: rb.c,v 1.12 2014/08/22 17:17:02 riastradh Exp $"); #else #include <lib/libkern/libkern.h> -__KERNEL_RCSID(0, "$NetBSD: rb.c,v 1.11 2011/06/20 09:11:16 mrg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rb.c,v 1.12 2014/08/22 17:17:02 riastradh Exp $"); #endif #ifdef _LIBC @@ -145,7 +145,7 @@ rb_tree_find_node_geq(struct rb_tree *rb parent = parent->rb_nodes[diff < 0]; } - return RB_NODETOITEM(rbto, last); + return (last == NULL ? NULL : RB_NODETOITEM(rbto, last)); } void * @@ -166,7 +166,7 @@ rb_tree_find_node_leq(struct rb_tree *rb parent = parent->rb_nodes[diff < 0]; } - return RB_NODETOITEM(rbto, last); + return (last == NULL ? NULL : RB_NODETOITEM(rbto, last)); } void *