]> git.sur5r.net Git - openldap/commitdiff
ITS#8003 fix off-by-one in LDIF length
authorHoward Chu <hyc@openldap.org>
Mon, 15 Dec 2014 14:36:55 +0000 (14:36 +0000)
committerHoward Chu <hyc@openldap.org>
Mon, 15 Dec 2014 14:36:55 +0000 (14:36 +0000)
must account for leading space when counting total number of lines

include/ldif.h

index f638ef9bb4124914a20e416eb8f48dd60d3adcaf..69bb0c9b916f39a63e39f2b7c55c4ad287657214 100644 (file)
@@ -52,12 +52,12 @@ LDAP_LDIF_V (int) ldif_debug;
  */
 #define LDIF_SIZE_NEEDED(nlen,vlen) \
     ((nlen) + 4 + LDIF_BASE64_LEN(vlen) \
-    + ((LDIF_BASE64_LEN(vlen) + (nlen) + 3) / LDIF_LINE_WIDTH * 2 ))
+    + ((LDIF_BASE64_LEN(vlen) + (nlen) + 3) / (LDIF_LINE_WIDTH-1) * 2 ))
 
 #define LDIF_SIZE_NEEDED_WRAP(nlen,vlen,wrap) \
     ((nlen) + 4 + LDIF_BASE64_LEN(vlen) \
-    + ((wrap) == 0 ? ((LDIF_BASE64_LEN(vlen) + (nlen) + 3) / ( LDIF_LINE_WIDTH ) * 2 ) : \
-       ((wrap) == LDIF_LINE_WIDTH_MAX ? 0 : ((LDIF_BASE64_LEN(vlen) + (nlen) + 3) / (wrap) * 2 ))))
+    + ((wrap) == 0 ? ((LDIF_BASE64_LEN(vlen) + (nlen) + 3) / ( LDIF_LINE_WIDTH-1 ) * 2 ) : \
+       ((wrap) == LDIF_LINE_WIDTH_MAX ? 0 : ((LDIF_BASE64_LEN(vlen) + (nlen) + 3) / (wrap-1) * 2 ))))
 
 LDAP_LDIF_F( int )
 ldif_parse_line LDAP_P((