]> git.cameronkatri.com Git - bsdgames-darwin.git/commitdiff
unstr: Check that the input filename fits in the buffer.
authornia <nia@NetBSD.org>
Wed, 29 Apr 2020 21:00:42 +0000 (21:00 +0000)
committernia <nia@NetBSD.org>
Wed, 29 Apr 2020 21:00:42 +0000 (21:00 +0000)
fortune/unstr/unstr.c

index 6f5e8241479b02c2c5d67286bb47f4256fa13ef7..cadd35f4adf5c73d3b00a7b5d68d9e089bc3c61a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: unstr.c,v 1.14 2012/06/19 05:46:08 dholland Exp $      */
+/*     $NetBSD: unstr.c,v 1.15 2020/04/29 21:00:42 nia Exp $   */
 
 /*-
  * Copyright (c) 1991, 1993
@@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1991, 1993\
 #if 0
 static char sccsid[] = "@(#)unstr.c    8.1 (Berkeley) 5/31/93";
 #else
-__RCSID("$NetBSD: unstr.c,v 1.14 2012/06/19 05:46:08 dholland Exp $");
+__RCSID("$NetBSD: unstr.c,v 1.15 2020/04/29 21:00:42 nia Exp $");
 #endif
 #endif /* not lint */
 
@@ -114,7 +114,7 @@ main(int ac __unused, char **av)
 void
 getargs(char *av[])
 {
-       if (!*++av) {
+       if (!*++av || (strlen(*av) + sizeof(".dat")) > sizeof(Datafile)) {
                (void) fprintf(stderr, "usage: unstr datafile\n");
                exit(1);
        }