From: Jens Axboe Date: Thu, 31 Jul 2008 17:55:02 +0000 (+0200) Subject: Detect and complain on smalloc failures X-Git-Tag: fio-1.22-rc1~11 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=c48c0be79173897824d8f439c39374f2588931dc;p=fio.git Detect and complain on smalloc failures Signed-off-by: Jens Axboe --- diff --git a/filesetup.c b/filesetup.c index 8b045609..a52dae0f 100644 --- a/filesetup.c +++ b/filesetup.c @@ -694,6 +694,11 @@ int add_file(struct thread_data *td, const char *fname) dprint(FD_FILE, "add file %s\n", fname); f = smalloc(sizeof(*f)); + if (!f) { + log_err("fio: smalloc OOM\n"); + assert(0); + } + f->fd = -1; dprint(FD_FILE, "resize file array to %d files\n", cur_files + 1); @@ -712,7 +717,11 @@ int add_file(struct thread_data *td, const char *fname) sprintf(file_name + len, "%s", fname); f->file_name = smalloc_strdup(file_name); - + if (!f->file_name) { + log_err("fio: smalloc OOM\n"); + assert(0); + } + get_file_type(f); switch (td->o.file_lock_mode) { @@ -905,9 +914,18 @@ void dup_files(struct thread_data *td, struct thread_data *org) struct fio_file *__f; __f = smalloc(sizeof(*__f)); - + if (!__f) { + log_err("fio: smalloc OOM\n"); + assert(0); + } + if (f->file_name) { __f->file_name = smalloc_strdup(f->file_name); + if (!__f->file_name) { + log_err("fio: smalloc OOM\n"); + assert(0); + } + __f->filetype = f->filetype; }