]> git.sur5r.net Git - openldap/blobdiff - libraries/libmdb/midl.c
explain mdl_midl_sort() istack size
[openldap] / libraries / libmdb / midl.c
index 2aee4311ea230454d38ffc1bea10b4efc2ad9d38..7a7b59c7c0e053cb752defb001c2a3e253fd1ea2 100644 (file)
@@ -15,6 +15,7 @@
  * <http://www.OpenLDAP.org/license.html>.
  */
 
+#include <limits.h>
 #include <string.h>
 #include <sys/types.h>
 #include <assert.h>
@@ -134,7 +135,8 @@ int mdb_midl_append( IDL ids, ID id )
 void
 mdb_midl_sort( ID *ids )
 {
-       int istack[16*sizeof(int)];
+       /* Max possible depth of int-indexed tree * 2 items/level */
+       int istack[sizeof(int)*CHAR_BIT * 2];
        int i,j,k,l,ir,jstack;
        ID a, itmp;