From 8b7e6a2cdf036ac53a85ba95f04dda577ff1bf0c Mon Sep 17 00:00:00 2001 From: Seungha Son Date: Wed, 2 Aug 2017 17:41:17 +0900 Subject: Add null check Signed-off-by: Seungha Son Change-Id: I76149b658e6cd20aef116c5d074c17a43d05b819 --- src/queue.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/queue.c b/src/queue.c index 61220c8..a03ed07 100644 --- a/src/queue.c +++ b/src/queue.c @@ -101,6 +101,11 @@ int _push_queue(uid_t target_uid, uid_t caller_uid, const char *req_id, } job = calloc(1, sizeof(struct backend_job)); + if (job == NULL) { + ERR("Out of memory"); + return -1; + } + job->target_uid = target_uid; job->caller_uid = caller_uid; if (req_id) @@ -132,10 +137,21 @@ static int __init_backends(const char *fpath, const struct stat *sb, return 0; queue = calloc(1, sizeof(struct backend_queue)); + if (queue == NULL) { + ERR("Out of memory"); + return -1; + } + if (typeflag == FTW_F) { queue->path = strdup(fpath); } else if (typeflag == FTW_SL) { queue->path = malloc(sb->st_size + 1); + if (queue->path == NULL) { + ERR("Out of memory"); + free(queue); + return -1; + } + r = readlink(fpath, queue->path, sb->st_size + 1); if (r < 0 || r > sb->st_size) { ERR("failed to readlink for %s", fpath); -- cgit v1.2.3