From 04614b28c81808a6c4f15cd6d3eb57aa8c976fe4 Mon Sep 17 00:00:00 2001 From: Shehjar Tikoo Date: Thu, 25 Feb 2010 15:38:11 +0000 Subject: socket: Add NULL check for failed ioq entry allocation This is seen in OOM situations. Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati BUG: 679 (Crash in socket_ioq_new) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=679 --- transport/socket/src/socket.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'transport') diff --git a/transport/socket/src/socket.c b/transport/socket/src/socket.c index 151ce3c93..e2691500b 100644 --- a/transport/socket/src/socket.c +++ b/transport/socket/src/socket.c @@ -299,6 +299,8 @@ __socket_ioq_new (transport_t *this, char *buf, int len, /* TODO: use mem-pool */ entry = CALLOC (1, sizeof (*entry)); + if (!entry) + return NULL; assert (count <= (MAX_IOVEC-2)); @@ -1329,6 +1331,8 @@ socket_submit (transport_t *this, char *buf, int len, priv->submit_log = 0; entry = __socket_ioq_new (this, buf, len, vector, count, iobref); + if (!entry) + goto unlock; if (list_empty (&priv->ioq)) { ret = __socket_ioq_churn_entry (this, entry); -- cgit