summary refs log tree commit diff
path: root/arch/um
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2011-09-09 20:08:48 -0400
committerRichard Weinberger <richard@nod.at>2012-03-25 00:29:54 +0100
commitc8e2876fc8adaf9539f051fcda5d551308e8a0f8 (patch)
tree29c8a0cc31d00dcd185003405e92e66790d2d243 /arch/um
parent04292b2cf8f02a33cfc1054c0c51aa8c77731813 (diff)
downloadlinux-c8e2876fc8adaf9539f051fcda5d551308e8a0f8.tar.gz
um: finally kill ->init_str leaks
now we can do that...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/drivers/line.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index 002d4a968ae6..9ffade87a8cf 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -509,8 +509,10 @@ int setup_one_line(struct line *lines, int n, char *init,
 			*error_out = "Failed to allocate memory";
 			return -ENOMEM;
 		}
-		if (line->valid)
+		if (line->valid) {
 			tty_unregister_device(driver, n);
+			kfree(line->init_str);
+		}
 		line->init_str = new;
 		line->valid = 1;
 		err = parse_chan_pair(new, line, n, opts, error_out);