From: Pierangelo Masarati Date: Mon, 26 Feb 2007 23:59:55 +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~45 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0f5e5ae572549f0fb91a999d598a3493bbc10db4;p=openldap 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 c8a2307b6d..1a4fd8d40c 100644 --- a/CHANGES +++ b/CHANGES @@ -3,7 +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 + Fixed slapd-meta/slapo-rwm filter mapping OpenLDAP 2.3.34 Release (2007/02/16) Fixed libldap missing get_option(TLS CipherSuite) (ITS#4815) diff --git a/servers/slapd/overlays/rwmmap.c b/servers/slapd/overlays/rwmmap.c index 8ba1d1d9fa..5728afd881 100644 --- a/servers/slapd/overlays/rwmmap.c +++ b/servers/slapd/overlays/rwmmap.c @@ -499,7 +499,7 @@ rwm_int_filter_map_rewrite( fstr->bv_val = ch_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 : "" ); ch_free( vtmp.bv_val ); break; @@ -516,7 +516,7 @@ rwm_int_filter_map_rewrite( fstr->bv_val = ch_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 : "" ); ch_free( vtmp.bv_val ); break; @@ -533,7 +533,7 @@ rwm_int_filter_map_rewrite( fstr->bv_val = ch_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 : "" ); ch_free( vtmp.bv_val ); break; @@ -550,7 +550,7 @@ rwm_int_filter_map_rewrite( fstr->bv_val = ch_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 : "" ); ch_free( vtmp.bv_val ); break; @@ -581,7 +581,7 @@ rwm_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 : "" ); ch_free( vtmp.bv_val ); } @@ -596,7 +596,7 @@ rwm_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 : "" ); ch_free( vtmp.bv_val ); } } @@ -611,7 +611,7 @@ rwm_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 : "" ); ch_free( vtmp.bv_val ); } @@ -657,7 +657,7 @@ rwm_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 ); } @@ -690,7 +690,7 @@ rwm_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 : "" ); ch_free( vtmp.bv_val ); break; }