diff --git a/lib/vtls/schannel.c b/lib/vtls/schannel.c index f1b47cb47f..6159d90ab5 100644 --- a/lib/vtls/schannel.c +++ b/lib/vtls/schannel.c @@ -588,7 +588,7 @@ static CURLcode schannel_acquire_credential_handle(struct Curl_cfilter *cf, certsize = (size_t)cert_tell; if(continue_reading) continue_reading = fseek(fInCert, 0, SEEK_SET) == 0; - if(continue_reading) + if(continue_reading && (certsize < CURL_MAX_INPUT_LENGTH)) certdata = curlx_malloc(certsize + 1); if((!certdata) || ((int) fread(certdata, certsize, 1, fInCert) != 1))