Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a6d0ac1 authored by Davidlohr Bueso's avatar Davidlohr Bueso Committed by Linus Torvalds
Browse files

uml: free resources



When creating the temp file there's a memory and file descriptor leak upon
error.

Signed-off-by: default avatarDavidlohr Bueso <dave@gnu.org>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
Reviewed-by: default avatarVitaliy Ivanov <vitalivanov@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 9a8beb93
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -176,7 +176,7 @@ static int __init make_tempfile(const char *template, char **out_tempname,

	find_tempdir();
	if ((tempdir == NULL) || (strlen(tempdir) >= MAXPATHLEN))
		return -1;
		goto out;

	if (template[0] != '/')
		strcpy(tempname, tempdir);
@@ -191,13 +191,15 @@ static int __init make_tempfile(const char *template, char **out_tempname,
	}
	if (do_unlink && (unlink(tempname) < 0)) {
		perror("unlink");
		goto out;
		goto close;
	}
	if (out_tempname) {
		*out_tempname = tempname;
	} else
		free(tempname);
	return fd;
close:
	close(fd);
out:
	free(tempname);
	return -1;