diff options
| author | Kamil Dudka <kdudka@redhat.com> | 2013-08-12 15:14:35 +0200 | 
|---|---|---|
| committer | Kamil Dudka <kdudka@redhat.com> | 2013-08-12 15:17:39 +0200 | 
| commit | 204126a5f1218b7ba02c0abbd9703ee79d0d0776 (patch) | |
| tree | 4d7814afa0562118f600af7146d9b46a7a9a093a /lib | |
| parent | 2ae3d28f3d27420305e0b9c6fb2be04dd8f637c4 (diff) | |
nss: make sure that NSS is initialized
... prior to calling PK11_GenerateRandom()
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/nss.c | 11 | 
1 files changed, 7 insertions, 4 deletions
@@ -1543,9 +1543,8 @@ size_t Curl_nss_version(char *buffer, size_t size)  int Curl_nss_seed(struct SessionHandle *data)  { -  /* TODO: implement? */ -  (void) data; -  return 0; +  /* make sure that NSS is initialized */ +  return !!Curl_nss_force_init(data);  }  void Curl_nss_random(struct SessionHandle *data, @@ -1553,7 +1552,11 @@ void Curl_nss_random(struct SessionHandle *data,                       size_t length)  {    Curl_nss_seed(data);  /* Initiate the seed if not already done */ -  PK11_GenerateRandom(entropy, curlx_uztosi(length)); +  if(SECSuccess != PK11_GenerateRandom(entropy, curlx_uztosi(length))) { +    /* no way to signal a failure from here, we have to abort */ +    failf(data, "PK11_GenerateRandom() failed, calling abort()..."); +    abort(); +  }  }  void Curl_nss_md5sum(unsigned char *tmp, /* input */  | 
