]> git.sur5r.net Git - openldap/commitdiff
misc cleanup
authorJong Hyuk Choi <jongchoi@openldap.org>
Tue, 18 Nov 2003 19:08:33 +0000 (19:08 +0000)
committerJong Hyuk Choi <jongchoi@openldap.org>
Tue, 18 Nov 2003 19:08:33 +0000 (19:08 +0000)
servers/slapd/ldapsync.c
servers/slapd/slap.h

index 55c80e43c32b28c6dc77adafccc67bd45aca0bf3..b936dfef8fc569733f9857ffba70d01e515acb48 100644 (file)
@@ -356,8 +356,10 @@ slap_parse_sync_cookie(
 {
        char *csn_ptr;
        char *csn_str;
+       char *csn_str_val;
        char *sid_ptr;
        char *sid_str;
+       char *sid_str_val;
        char *cval;
        struct berval *ctxcsn;
 
@@ -365,11 +367,12 @@ slap_parse_sync_cookie(
                return -1;
 
        if (( csn_ptr = strstr( cookie->octet_str[0].bv_val, "csn=" )) != NULL ) {
-               csn_str = (char *) strndup( csn_ptr, LDAP_LUTIL_CSNSTR_BUFSIZE );
+               csn_str = (char *) SLAP_STRNDUP( csn_ptr, LDAP_LUTIL_CSNSTR_BUFSIZE );
+               csn_str_val = csn_str + sizeof("csn=") - 1;
                if ( cval = strchr( csn_str, ',' )) {
                        *cval = '\0';
                }
-               ctxcsn = ber_str2bv( csn_str + 4, strlen(csn_str) - 4, 1, NULL );
+               ctxcsn = ber_str2bv( csn_str_val, strlen(csn_str_val), 1, NULL );
                ch_free( csn_str );
                ber_bvarray_add( &cookie->ctxcsn, ctxcsn );
                ch_free( ctxcsn );
@@ -378,11 +381,13 @@ slap_parse_sync_cookie(
        }
 
        if (( sid_ptr = strstr( cookie->octet_str->bv_val, "sid=" )) != NULL ) {
-               sid_str = (char *) strndup( sid_ptr, 7 );
+               sid_str = (char *) SLAP_STRNDUP( sid_ptr,
+                                                       SLAP_SYNC_SID_SIZE + sizeof("sid=") - 1 );
+               sid_str_val = sid_str + sizeof("sid=") - 1;
                if ( cval = strchr( sid_str, ',' )) {
                        *cval = '\0';
                }
-               cookie->sid = atoi( sid_str+4 );
+               cookie->sid = atoi( sid_str_val );
                ch_free( sid_str );
        } else {
                cookie->sid = -1;
index d3f2e2186a1b582f8532c829c59393b3b50ce6d7..9a43d20ce3143ca076235c50aea3be5c9ffb801e 100644 (file)
@@ -1287,6 +1287,12 @@ typedef BackendDB Backend;
 #define nbackends nBackendDB
 #define backends backendDB
 
+/*
+ * syncinfo structure for syncrepl
+ */
+
+#define SLAP_SYNC_SID_SIZE     3
+
 struct nonpresent_entry {
        struct berval *npe_name;
        struct berval *npe_nname;
@@ -1299,9 +1305,6 @@ struct sync_cookie {
        struct berval *octet_str;
 };
 
-/*
- * syncinfo structure for syncrepl
- */
 typedef struct syncinfo_s {
         struct slap_backend_db *si_be;
         unsigned int           si_id;