From 6826a66ac02863c7830e4b141d0bf1bdb2249729 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount <quanah@openldap.org> Date: Fri, 30 Jan 2009 21:12:54 +0000 Subject: [PATCH] ITS#5909 --- CHANGES | 1 + libraries/liblutil/avl.c | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index d0daf013e6..ebc1f4d9d4 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,7 @@ OpenLDAP 2.4.14 Engineering Added libldap TLS_PROTOCOL_MIN (ITS#5655) Added libldap GnuTLS support for TLS_CIPHER_SUITE (ITS#5887) Added libldap GnuTLS setting random file (ITS#5462) + Fixed libldap avl to macroize constants (ITS#5909) Fixed libldap deref handling (ITS#5768) Fixed libldap peer cert memory leak (ITS#5849) Fixed libldap interaction with GnuTLS CN IP-based matches (ITS#5789) diff --git a/libraries/liblutil/avl.c b/libraries/liblutil/avl.c index 6665307a36..ef62a6ff57 100644 --- a/libraries/liblutil/avl.c +++ b/libraries/liblutil/avl.c @@ -34,6 +34,7 @@ #include "portable.h" +#include <limits.h> #include <stdio.h> #include <ac/stdlib.h> @@ -48,6 +49,9 @@ #define AVL_INTERNAL #include "avl.h" +/* Maximum tree depth this host's address space could support */ +#define MAX_TREE_DEPTH (sizeof(void *) * CHAR_BIT) + static const int avl_bfs[] = {LH, RH}; /* @@ -180,8 +184,8 @@ avl_delete( Avlnode **root, void* data, AVL_CMP fcmp ) int side, side_bf, shorter, nside; /* parent stack */ - Avlnode *pptr[sizeof(void *)*8]; - unsigned char pdir[sizeof(void *)*8]; + Avlnode *pptr[MAX_TREE_DEPTH]; + unsigned char pdir[MAX_TREE_DEPTH]; int depth = 0; if ( *root == NULL ) -- GitLab