If memdup fails, handle out of memory condition.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/158
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
size_t uncrelpathlen = lastslash - mod->relpath + modnamesz +
strlen(KMOD_EXTENSION_UNCOMPRESSED);
mod->uncrelpath = memdup(mod->relpath, uncrelpathlen + 1);
+ if (mod->uncrelpath == NULL) {
+ err = -ENOMEM;
+ hash_del(depmod->modules_by_name, mod->modname);
+ goto fail;
+ }
mod->uncrelpath[uncrelpathlen] = '\0';
err = hash_add_unique(depmod->modules_by_uncrelpath, mod->uncrelpath, mod);
if (err < 0) {