]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/controls.c
Partial revert of f30269f5d2e4bb5ee7486fe6542078d1b59dba6d
[openldap] / servers / slapd / controls.c
index 3c73debd2924ec95c8d110d7e531d226b4f122a6..54447b830b397763c3779b30750dfde84058da4f 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2011 The OpenLDAP Foundation.
+ * Copyright 1998-2012 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -357,9 +357,9 @@ unregister_supported_control( const char *controloid )
 
        for ( i = 0; slap_known_controls[ i ]; i++ ) {
                if ( strcmp( controloid, slap_known_controls[ i ] ) == 0 ) {
-                       while ( slap_known_controls[i] ) {
-                               slap_known_controls[i++] = slap_known_controls[i];
-                       }
+                       do {
+                               slap_known_controls[ i ] = slap_known_controls[ i+1 ];
+                       } while ( slap_known_controls[ i++ ] );
                        num_known_controls--;
                        break;
                }