]> git.sur5r.net Git - openldap/commitdiff
ITS#7060 fix str2result return code parsing
authorHoward Chu <hyc@openldap.org>
Tue, 1 Nov 2011 19:59:36 +0000 (12:59 -0700)
committerHoward Chu <hyc@openldap.org>
Tue, 1 Nov 2011 19:59:36 +0000 (12:59 -0700)
servers/slapd/result.c

index 13a70ed9e9c97055e0e8fc98a949cda2b33712a8..1e8d40622382ff2b8eb75f39e1a74b7039bd5725 100644 (file)
@@ -1694,15 +1694,16 @@ str2result(
                                continue;
                        }
 
-                       while ( isspace( (unsigned char) next[ 0 ] ) ) next++;
-                       if ( next[ 0 ] != '\0' ) {
+                       while ( isspace( (unsigned char) next[ 0 ] ) && next[ 0 ] != '\n' )
+                               next++;
+                       if ( next[ 0 ] != '\0' && next[ 0 ] != '\n' ) {
                                Debug( LDAP_DEBUG_ANY, "str2result (%s) extra cruft after value\n",
                                    s, 0, 0 );
                                rc = -1;
                                continue;
                        }
 
-                       /* FIXME: what if it's larger that max int? */
+                       /* FIXME: what if it's larger than max int? */
                        *code = (int)retcode;
 
                } else if ( strncasecmp( s, "matched", STRLENOF( "matched" ) ) == 0 ) {