]> granicus.if.org Git - curl/commitdiff
nss: do not count enabled cipher-suites
authorKamil Dudka <kdudka@redhat.com>
Thu, 4 Feb 2016 09:41:15 +0000 (10:41 +0100)
committerKamil Dudka <kdudka@redhat.com>
Wed, 10 Feb 2016 17:58:48 +0000 (18:58 +0100)
We only care if at least one cipher-suite is enabled, so it does
not make any sense to iterate till the end and count all enabled
cipher-suites.

lib/vtls/nss.c

index 722ea88ef5207aec071d258df3c56e7606aca25a..2fc3f433a273c1ff4fe536cf3e7c40eeead18885 100644 (file)
@@ -275,21 +275,21 @@ static SECStatus set_ciphers(struct SessionHandle *data, PRFileDesc * model,
 }
 
 /*
- * Get the number of ciphers that are enabled. We use this to determine
+ * Return true if at least one cipher-suite is enabled. Used to determine
  * if we need to call NSS_SetDomesticPolicy() to enable the default ciphers.
  */
-static int num_enabled_ciphers(void)
+static bool any_cipher_enabled(void)
 {
-  PRInt32 policy = 0;
-  int count = 0;
   unsigned int i;
 
   for(i=0; i<NUM_OF_CIPHERS; i++) {
+    PRInt32 policy = 0;
     SSL_CipherPolicyGet(cipherlist[i].num, &policy);
     if(policy)
-      count++;
+      return TRUE;
   }
-  return count;
+
+  return FALSE;
 }
 
 /*
@@ -1228,7 +1228,7 @@ static CURLcode nss_init(struct SessionHandle *data)
   if(result)
     return result;
 
-  if(num_enabled_ciphers() == 0)
+  if(!any_cipher_enabled())
     NSS_SetDomesticPolicy();
 
   initialized = 1;