]> git.sur5r.net Git - openldap/commitdiff
fix previous commit (may be called more than once)
authorPierangelo Masarati <ando@openldap.org>
Fri, 17 Aug 2007 14:41:32 +0000 (14:41 +0000)
committerPierangelo Masarati <ando@openldap.org>
Fri, 17 Aug 2007 14:41:32 +0000 (14:41 +0000)
clients/tools/common.c

index 2e571ced0915d2864104bbb178194cc261d6d918..78d8db7811dbb874ef54ce50b903530048a07cea 100644 (file)
@@ -537,9 +537,10 @@ tool_args( int argc, char **argv )
                                }
 
                                tmpctrls = (LDAPControl *)realloc( unknown_ctrls,
-                                       (unknown_ctrls_num + 2)*sizeof( LDAPControl ) );
+                                       (unknown_ctrls_num + 1)*sizeof( LDAPControl ) );
                                if ( tmpctrls == NULL ) {
-
+                                       fprintf( stderr, "%s: no memory?\n", prog );
+                                       exit( EXIT_FAILURE );
                                }
                                unknown_ctrls = tmpctrls;
                                ctrl.ldctl_oid = control;
@@ -1594,8 +1595,7 @@ tool_server_controls( LDAP *ld, LDAPControl *extra_c, int count )
        while ( count-- ) {
                ctrls[i++] = extra_c++;
        }
-       count = 0;
-       while ( unknown_ctrls_num-- ) {
+       for ( count = 0; count < unknown_ctrls_num; count++ ) {
                ctrls[i++] = &unknown_ctrls[count++];
        }
        ctrls[i] = NULL;