From: Pierangelo Masarati Date: Mon, 26 Feb 2007 20:38:20 +0000 (+0000) Subject: Solaris doesn't like NULL pointers in printf, which now can occur since IA5string... X-Git-Tag: OPENLDAP_REL_ENG_2_4_MP~640 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=18b1fd4e5fd18a7364391504f9717aa7625e4d42;p=openldap Solaris doesn't like NULL pointers in printf, which now can occur since IA5string allows the empty string --- 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;