From cadf4452c630c011302054db36947a258f73e4b6 Mon Sep 17 00:00:00 2001 From: Matthieu Herrb Date: Fri, 30 Jan 2009 11:58:40 +0100 Subject: [PATCH] Add more input checks. From "nobody@example.com" through OpenBSD bug list. Change-Id: I056474a8ccc426369dea7b97c2765079dc2aac34 --- xwud.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xwud.c b/xwud.c index d2c463d..1c83b7b 100644 --- a/xwud.c +++ b/xwud.c @@ -274,6 +274,8 @@ main(int argc, char *argv[]) /* alloc window name */ win_name_size = (header.header_size - SIZEOF(XWDheader)); + if (win_name_size < 1) + Error("win_name_size"); if((win_name = malloc((unsigned) win_name_size + 6)) == NULL) Error("Can't malloc window name storage."); strcpy(win_name, "xwud: "); @@ -281,6 +283,7 @@ main(int argc, char *argv[]) /* read in window name */ if(!Read(win_name + 6, sizeof(char), win_name_size, in_file)) Error("Unable to read window name from dump file."); + (win_name + 6)[win_name_size - 1] = 0; if (dump_header) { DumpHeader(&header, win_name); -- 2.7.4