From 06e298b8c68a72891e0c534f2975557e8ca65929 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Thu, 24 Mar 2011 02:11:41 +0000 Subject: [PATCH] ITS#6858 --- CHANGES | 1 + servers/slapd/bconfig.c | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index b33c397ec0..22c7e46f22 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,7 @@ OpenLDAP 2.4.25 Engineering Fixed tools for incompatible args (ITS#6849) Fixed slapd add objectclasses in order (ITS#6837) Added slapd ordering for uidNumber and gidNumber (ITS#6852) + Fixed slapd segfault when adding values out of order (ITS#6858) Fixed slapd sortval handling (ITS#6845) Fixed slapd-ldap chain cn=config support (ITS#6837) Fixed slapd-ldap chain with slapd.conf (ITS#6857) diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index c657ed0fd9..623940b606 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -1626,7 +1626,8 @@ config_generic(ConfigArgs *c) { int i; for (i=0, oc = cfn->c_oc_head; ivalx; i++) { prev = oc; - oc_next( &oc ); + if ( !oc_next( &oc )) + break; } } else /* If adding the first, and head exists, find its prev */ @@ -1658,7 +1659,8 @@ config_generic(ConfigArgs *c) { int i; for (i=0, at = cfn->c_at_head; ivalx; i++) { prev = at; - at_next( &at ); + if ( !at_next( &at )) + break; } } else /* If adding the first, and head exists, find its prev */ @@ -1690,7 +1692,8 @@ config_generic(ConfigArgs *c) { int i; for ( i = 0, syn = cfn->c_syn_head; i < c->valx; i++ ) { prev = syn; - syn_next( &syn ); + if ( !syn_next( &syn )) + break; } } else /* If adding the first, and head exists, find its prev */ -- 2.39.5