From 351932cb4a0d0aec0d45968b32458f41ba0bf913 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 10 Jul 2013 02:19:50 +0000 Subject: ossl.c: check allocation * ext/openssl/ossl.c (Init_ossl_locks): check if locks array is allocated successfully. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/openssl/ossl.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ext/openssl/ossl.c') diff --git a/ext/openssl/ossl.c b/ext/openssl/ossl.c index e052a2ce09..0446d5085b 100644 --- a/ext/openssl/ossl.c +++ b/ext/openssl/ossl.c @@ -486,6 +486,9 @@ static void Init_ossl_locks(void) rb_raise(rb_eRuntimeError, "CRYPTO_num_locks() is too big: %d", num_locks); } ossl_locks = (VALUE*) OPENSSL_malloc(num_locks * (int)sizeof(VALUE)); + if (!ossl_locks) { + rb_raise(rb_eNoMemError, "CRYPTO_num_locks() is too big: %d", num_locks); + } for (i = 0; i < num_locks; i++) { ossl_locks[i] = rb_mutex_new(); rb_global_variable(&(ossl_locks[i])); -- cgit v1.2.3