--- /home/xdudka00/curl/build/lib/nss.c	2009-07-15 20:35:39.273480921 +0200
+++ lib/nss.c	2009-07-15 21:11:58.949227263 +0200
@@ -754,7 +754,6 @@ static SECStatus SelectClientCert(void *
   struct ssl_connect_data *connssl = (struct ssl_connect_data *)arg;
   struct SessionHandle *data = connssl->data;
   const char *nickname = connssl->client_nickname;
-  SECStatus rv;
 
   if (mod && nickname &&
       0 == strncmp(nickname, pem_nickname, /* length of "PEM Token" */ 9)) {
@@ -789,9 +788,10 @@ static SECStatus SelectClientCert(void *
   }
 
   /* use the default NSS hook */
-  rv = NSS_GetClientAuthData((void *)nickname, sock, caNames, pRetCert,
-                             pRetKey);
-  if (NULL == *pRetCert) {
+  if (SECSuccess != NSS_GetClientAuthData((void *)nickname, sock, caNames,
+                                          pRetCert, pRetKey)
+      || NULL == *pRetCert) {
+
     if (NULL == nickname)
       failf(data, "NSS: client certificate not found (nickname not specified)");
     else
@@ -812,7 +812,7 @@ static SECStatus SelectClientCert(void *
 
   infof(data, "NSS: using client certificate: %s\n", nickname);
   display_cert_info(data, *pRetCert);
-  return rv;
+  return SECSuccess;
 }
 
 /**

