You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2019/02/22 15:11:33 UTC

[activemq-artemis] 02/05: ARTEMIS-2260 Prevent a null pointer dereference if unable to allocate memory for the events member of the control structure. This could also cause the broker to abruptly shutdown.

This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit 6dafedb6af5b7d28b35664c3e039fab42eda9439
Author: Otavio Rodolfo Piske <op...@redhat.com>
AuthorDate: Tue Jan 29 14:37:08 2019 +0100

    ARTEMIS-2260 Prevent a null pointer dereference if unable to allocate memory for the
    events member of the control structure. This could also cause the broker
    to abruptly shutdown.
---
 .../src/main/c/org_apache_activemq_artemis_jlibaio_LibaioContext.c  | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/artemis-native/src/main/c/org_apache_activemq_artemis_jlibaio_LibaioContext.c b/artemis-native/src/main/c/org_apache_activemq_artemis_jlibaio_LibaioContext.c
index f8a04e3..9e10c9d 100644
--- a/artemis-native/src/main/c/org_apache_activemq_artemis_jlibaio_LibaioContext.c
+++ b/artemis-native/src/main/c/org_apache_activemq_artemis_jlibaio_LibaioContext.c
@@ -421,6 +421,12 @@ JNIEXPORT jobject JNICALL Java_org_apache_activemq_artemis_jlibaio_LibaioContext
     }
 
     struct io_event * events = (struct io_event *)malloc(sizeof(struct io_event) * (size_t)queueSize);
+    if (events == NULL) {
+        free(theControl);
+        free(libaioContext);
+        throwRuntimeExceptionErrorNo(env, "Can't initialize mutext (not enough memory for the events member): ", res);
+        return NULL;
+    }
 
     theControl->ioContext = libaioContext;
     theControl->events = events;