}
b = malloc(td->o.max_bs[DDIR_WRITE]);
+ if (!b) {
+ td_verror(td, errno, "malloc");
+ goto err;
+ }
left = f->real_file_size;
while (left && !td->terminate) {
bs = td->o.max_bs[DDIR_READ];
b = malloc(bs);
+ if (!b) {
+ td_verror(td, errno, "malloc");
+ ret = 1;
+ goto error;
+ }
memset(b, 0, bs);
if (lseek(f->fd, f->file_offset, SEEK_SET) < 0) {
}
/*
- * We normally don't come here, but if the result is 0,
- * set it to the real file size. This could be size of
- * the existing one if it already exists, but otherwise
- * will be set to 0. A new file won't be created because
+ * We normally don't come here for regular files, but
+ * if the result is 0 for a regular file, set it to the
+ * real file size. This could be size of the existing
+ * one if it already exists, but otherwise will be set
+ * to 0. A new file won't be created because
* ->io_size + ->file_offset equals ->real_file_size.
*/
if (!f->io_size) {