From 20a824b932fbc7456b428894998a5af4ce45db5e Mon Sep 17 00:00:00 2001 From: Joshua Kwan Date: Tue, 6 Jan 2004 19:04:07 +0000 Subject: [PATCH] fix a buffer overflow git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@112 db0b04b0-f4d1-0310-9a6d-de3e77497b0e --- nh343-simple_mail.diff | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nh343-simple_mail.diff b/nh343-simple_mail.diff index 51b8c72..5188232 100644 --- a/nh343-simple_mail.diff +++ b/nh343-simple_mail.diff @@ -77,7 +77,7 @@ diff -urN orig/nethack-3.4.3/src/mail.c nethack-3.4.3/src/mail.c return; laststattime = moves; -@@ -501,9 +509,67 @@ +@@ -501,9 +509,68 @@ readmail(otmp) struct obj *otmp; { @@ -89,7 +89,7 @@ diff -urN orig/nethack-3.4.3/src/mail.c nethack-3.4.3/src/mail.c + if (iflags.simplemail) + { + FILE* mb = fopen(mailbox, "r"); -+ char curline[80], *msg; ++ char curline[102], *msg; + boolean seen_one_already = FALSE; + struct flock fl = { 0 }; + @@ -107,7 +107,7 @@ diff -urN orig/nethack-3.4.3/src/mail.c nethack-3.4.3/src/mail.c + + errno = 0; + -+ while (fgets(curline, 80, mb) != NULL) ++ while (fgets(curline, 102, mb) != NULL) + { + fl.l_type = F_UNLCK; + fcntl (fileno(mb), F_UNLCK, &fl); @@ -139,6 +139,7 @@ diff -urN orig/nethack-3.4.3/src/mail.c nethack-3.4.3/src/mail.c + fcntl(fileno(mb), F_UNLCK, &fl); + + fclose(mb); ++ unlink(mailbox); + return; + } +# endif /* SIMPLE_MAIL */