]> skyeroc.xyz Git - dgamelaunch/commitdiff
fix a buffer overflow
authorJoshua Kwan <joshk@triplehelix.org>
Tue, 6 Jan 2004 19:04:07 +0000 (19:04 +0000)
committerJoshua Kwan <joshk@triplehelix.org>
Tue, 6 Jan 2004 19:04:07 +0000 (19:04 +0000)
git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@112 db0b04b0-f4d1-0310-9a6d-de3e77497b0e

nh343-simple_mail.diff

index 51b8c72c29567487be239d8a137e4fa2ac2006c3..51882323a0da90fcc5682e1d50f39d99dc8cd313 100644 (file)
@@ -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 */