Detect and complain on smalloc failures
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/filesetup.c b/filesetup.c
index 8b04560..a52dae0 100644
--- a/filesetup.c
+++ b/filesetup.c
@@ -694,6 +694,11 @@
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 @@
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 @@
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;
}