[lib][fs] error code for null from malloc

This commit is contained in:
Travis Geiselbrecht
2021-08-26 22:35:36 -07:00
parent 3c4a0b96c1
commit 20af129a81

View File

@@ -134,7 +134,16 @@ static status_t mount(const char *path, const char *device, const struct fs_api
/* create the mount structure and add it to the list */
mount = malloc(sizeof(struct fs_mount));
if (!mount) {
if (dev) bio_close(dev);
return ERR_NO_MEMORY;
}
mount->path = strdup(temppath);
if (!mount->path) {
if (dev) bio_close(dev);
free(mount);
return ERR_NO_MEMORY;
}
mount->dev = dev;
mount->cookie = cookie;
mount->ref = 1;
@@ -257,6 +266,10 @@ status_t fs_create_file(const char *path, filehandle **handle, uint64_t len) {
}
filehandle *f = malloc(sizeof(*f));
if (!f) {
put_mount(mount);
return err;
}
f->cookie = cookie;
f->mount = mount;
*handle = f;
@@ -372,6 +385,10 @@ status_t fs_open_dir(const char *path, dirhandle **handle) {
}
dirhandle *d = malloc(sizeof(*d));
if (!d) {
put_mount(mount);
return ERR_NO_MEMORY;
}
d->cookie = cookie;
d->mount = mount;
*handle = d;