diff options
author | Shehjar Tikoo <shehjart@gluster.com> | 2010-02-25 15:38:11 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2010-03-02 08:22:01 -0800 |
commit | 2c7e6f22f7efc3c55593d3ef5467063ca4a49256 (patch) | |
tree | 714ba4aa9b1fe3b1a1aa01f61f769e610fad1291 | |
parent | bcab556247cc6f008cafb9df2128cc99d5cc6047 (diff) |
socket: Add NULL check for failed ioq entry allocation
This is seen in OOM situations.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 679 (Crash in socket_ioq_new)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=679
-rw-r--r-- | transport/socket/src/socket.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/transport/socket/src/socket.c b/transport/socket/src/socket.c index 15a69c1b7..28b828f29 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)); @@ -1319,6 +1321,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); |