]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Produce warnings on OpenSSL problems, rather than crash.
authorAlan T. DeKok <aland@freeradius.org>
Thu, 9 Aug 2012 15:54:54 +0000 (17:54 +0200)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 10 Aug 2012 09:25:57 +0000 (11:25 +0200)
src/modules/rlm_eap/libeap/mppe_keys.c

index f868a3132973488c1a16cc3eaf9f7f6e98ecb1cd..05577f5198afaf6806fece1b6098a4cfd0becad1 100644 (file)
@@ -132,6 +132,11 @@ void eaptls_gen_mppe_keys(VALUE_PAIR **reply_vps, SSL *s,
        unsigned char *p = seed;
        size_t prf_size;
 
+       if (!s->s3) {
+               radlog(L_ERR, "ERROR: OpenSSL build / link incompatibility detected");
+               return;
+       }
+
        prf_size = strlen(prf_label);
 
        memcpy(p, prf_label, prf_size);
@@ -171,6 +176,11 @@ void eapttls_gen_challenge(SSL *s, uint8_t *buffer, size_t size)
        uint8_t seed[sizeof(EAPTLS_PRF_CHALLENGE)-1 + 2*SSL3_RANDOM_SIZE];
        uint8_t *p = seed;
 
+       if (!s->s3) {
+               radlog(L_ERR, "ERROR: OpenSSL build / link incompatibility detected");
+               return;
+       }
+
        memcpy(p, EAPTLS_PRF_CHALLENGE, sizeof(EAPTLS_PRF_CHALLENGE)-1);
        p += sizeof(EAPTLS_PRF_CHALLENGE)-1;
        memcpy(p, s->s3->client_random, SSL3_RANDOM_SIZE);