From: Pierangelo Masarati Date: Mon, 26 Feb 2007 20:40:12 +0000 (+0000) Subject: Solaris doesn't like NULL pointers in printf, which now can occur since IA5string... X-Git-Tag: OPENLDAP_REL_ENG_2_3_35~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=702f4101fd8c5e8d4ac9aad81ecd37280b4b7494;p=thirdparty%2Fopenldap.git Solaris doesn't like NULL pointers in printf, which now can occur since IA5string allows the empty string --- diff --git a/CHANGES b/CHANGES index 98904df33c..c8a2307b6d 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,7 @@ OpenLDAP 2.3 Change Log OpenLDAP 2.3.35 Engineering Fixed entry consistency check in str2entry2 (ITS#4852) Fixed slapd-bdb/hdb startup with missing shm env (ITS#4851) + Fixed slapd-meta filter mapping OpenLDAP 2.3.34 Release (2007/02/16) Fixed libldap missing get_option(TLS CipherSuite) (ITS#4815) diff --git a/servers/slapd/back-meta/map.c b/servers/slapd/back-meta/map.c index 4d6aa59b61..1871ebbddf 100644 --- a/servers/slapd/back-meta/map.c +++ b/servers/slapd/back-meta/map.c @@ -326,7 +326,7 @@ ldap_back_int_filter_map_rewrite( fstr->bv_val = malloc( fstr->bv_len + 1 ); snprintf( fstr->bv_val, fstr->bv_len + 1, "(%s=%s)", - atmp.bv_val, vtmp.bv_val ); + atmp.bv_val, vtmp.bv_len ? vtmp.bv_val : "" ); ber_memfree( vtmp.bv_val ); break; @@ -343,7 +343,7 @@ ldap_back_int_filter_map_rewrite( fstr->bv_val = malloc( fstr->bv_len + 1 ); snprintf( fstr->bv_val, fstr->bv_len + 1, "(%s>=%s)", - atmp.bv_val, vtmp.bv_val ); + atmp.bv_val, vtmp.bv_len ? vtmp.bv_val : "" ); ber_memfree( vtmp.bv_val ); break; @@ -360,7 +360,7 @@ ldap_back_int_filter_map_rewrite( fstr->bv_val = malloc( fstr->bv_len + 1 ); snprintf( fstr->bv_val, fstr->bv_len + 1, "(%s<=%s)", - atmp.bv_val, vtmp.bv_val ); + atmp.bv_val, vtmp.bv_len ? vtmp.bv_val : "" ); ber_memfree( vtmp.bv_val ); break; @@ -377,7 +377,7 @@ ldap_back_int_filter_map_rewrite( fstr->bv_val = malloc( fstr->bv_len + 1 ); snprintf( fstr->bv_val, fstr->bv_len + 1, "(%s~=%s)", - atmp.bv_val, vtmp.bv_val ); + atmp.bv_val, vtmp.bv_len ? vtmp.bv_val : "" ); ber_memfree( vtmp.bv_val ); break; @@ -407,7 +407,7 @@ ldap_back_int_filter_map_rewrite( snprintf( &fstr->bv_val[len - 2], vtmp.bv_len + 3, /* "(attr=" */ "%s*)", - vtmp.bv_val ); + vtmp.bv_len ? vtmp.bv_val : "" ); ber_memfree( vtmp.bv_val ); } @@ -422,7 +422,7 @@ ldap_back_int_filter_map_rewrite( snprintf( &fstr->bv_val[len - 1], vtmp.bv_len + 3, /* "(attr=[init]*[any*]" */ "%s*)", - vtmp.bv_val ); + vtmp.bv_len ? vtmp.bv_val : "" ); ber_memfree( vtmp.bv_val ); } } @@ -437,7 +437,7 @@ ldap_back_int_filter_map_rewrite( snprintf( &fstr->bv_val[len - 1], vtmp.bv_len + 3, /* "(attr=[init*][any*]" */ "%s)", - vtmp.bv_val ); + vtmp.bv_len ? vtmp.bv_val : "" ); ber_memfree( vtmp.bv_val ); } @@ -482,7 +482,7 @@ ldap_back_int_filter_map_rewrite( fstr->bv_val = ch_realloc( fstr->bv_val, fstr->bv_len + 1 ); snprintf( &fstr->bv_val[len-1], vtmp.bv_len + 2, - /*"("*/ "%s)", vtmp.bv_val ); + /*"("*/ "%s)", vtmp.bv_len ? vtmp.bv_val : "" ); ch_free( vtmp.bv_val ); } @@ -514,7 +514,7 @@ ldap_back_int_filter_map_rewrite( f->f_mr_dnattrs ? ":dn" : "", !BER_BVISEMPTY( &f->f_mr_rule_text ) ? ":" : "", !BER_BVISEMPTY( &f->f_mr_rule_text ) ? f->f_mr_rule_text.bv_val : "", - vtmp.bv_val ); + vtmp.bv_len ? vtmp.bv_val : "" ); ber_memfree( vtmp.bv_val ); break;