diff -up ./src/mappers/ldap_mapper.c.nss_fix ./src/mappers/ldap_mapper.c
--- ./src/mappers/ldap_mapper.c.nss_fix 2010-06-21 15:10:53.661920000 -0700
+++ ./src/mappers/ldap_mapper.c 2010-06-21 15:10:56.720908000 -0700
@@ -761,17 +761,17 @@ static int ldap_get_certificate(const ch
while(rv < certcnt )
{
/* SaW: not nifty, but otherwise gcc doesn't optimize */
- bv_val = &bvals[rv]->bv_val;
#ifdef HAVE_NSS
{
SECItem derdata;
- derdata.data = bv_val;
+ derdata.data = bvals[rv]->bv_val;
derdata.len = bvals[rv]->bv_len;
ldap_x509[rv] = CERT_NewTempCertificate(CERT_GetDefaultCertDB(),
&derdata, NULL, 0, 1);
}
#else
+ bv_val = &bvals[rv]->bv_val;
ldap_x509[rv] = d2i_X509(NULL, ((const unsigned char **) bv_val), bvals[rv]->bv_len);
#endif
if (NULL == ldap_x509[rv]) {