Blob Blame History Raw
diff -up kbd-2.0.4/src/kdmapop.c.orig kbd-2.0.4/src/kdmapop.c
--- kbd-2.0.4/src/kdmapop.c.orig	2018-11-05 10:06:05.208744333 +0100
+++ kbd-2.0.4/src/kdmapop.c	2018-11-05 10:14:16.149215908 +0100
@@ -154,6 +154,7 @@ int getunimap(int fd, struct unimapdesc
 		}
 		if (ioctl(fd, GIO_UNIMAP, &ud)) {
 			perror("GIO_UNIMAP");
+			free(ud.entries);
 			return -1;
 		}
 		if (ct != ud.entry_ct)
diff -up kbd-2.0.4/src/libkeymap/common.c.orig kbd-2.0.4/src/libkeymap/common.c
--- kbd-2.0.4/src/libkeymap/common.c.orig	2016-12-19 16:01:51.000000000 +0100
+++ kbd-2.0.4/src/libkeymap/common.c	2018-11-05 10:05:50.207730393 +0100
@@ -246,5 +246,8 @@ int lk_free(struct lk_ctx *ctx)
 		ctx->key_line = NULL;
 	}
 
+	free(ctx);
+	ctx = NULL;
+
 	return 0;
 }
diff -up kbd-2.0.4/src/setfont.c.orig kbd-2.0.4/src/setfont.c
--- kbd-2.0.4/src/setfont.c.orig	2018-11-05 10:28:01.994027734 +0100
+++ kbd-2.0.4/src/setfont.c	2018-11-05 10:35:54.933477039 +0100
@@ -327,6 +327,8 @@ do_loadfont(int fd, char *inbuf, int wid
 
 	if (putfont(fd, buf, fontsize, width, hwunit))
 		exit(EX_OSERR);
+
+	free(buf);
 }
 
 static void