summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfcambus <fcambus@openbsd.org>2017-06-02 20:02:39 +0000
committerfcambus <fcambus@openbsd.org>2017-06-02 20:02:39 +0000
commitf194f74eddd6d4379a9f1bdeb151cef6dd42ef07 (patch)
tree7a03c467c5e55b458c2c29cdb188dafe3b545118
parentPartial implementation of \h (horizontal line drawing function). (diff)
downloadwireguard-openbsd-f194f74eddd6d4379a9f1bdeb151cef6dd42ef07.tar.xz
wireguard-openbsd-f194f74eddd6d4379a9f1bdeb151cef6dd42ef07.zip
Fix an infinite loop in fortune(6).
When invoking fortune with the -l option (to get long dictums only), the program gets stuck in an infinite loop because fortlen() doesn't return the fortune length correctly. OK mestre@, tb@, deraadt@, schwarze@
-rw-r--r--games/fortune/fortune/fortune.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/games/fortune/fortune/fortune.c b/games/fortune/fortune/fortune.c
index 4d9cd4242e8..41b5b179ebd 100644
--- a/games/fortune/fortune/fortune.c
+++ b/games/fortune/fortune/fortune.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fortune.c,v 1.55 2016/03/07 22:49:45 tb Exp $ */
+/* $OpenBSD: fortune.c,v 1.56 2017/06/02 20:02:39 fcambus Exp $ */
/* $NetBSD: fortune.c,v 1.8 1995/03/23 08:28:40 cgd Exp $ */
/*-
@@ -218,7 +218,7 @@ fortlen(void)
char line[BUFSIZ];
if (!(Fortfile->tbl.str_flags & (STR_RANDOM | STR_ORDERED)))
- nchar = (Seekpts[1] - Seekpts[0] <= SLEN);
+ nchar = Seekpts[1] - Seekpts[0];
else {
open_fp(Fortfile);
(void) fseek(Fortfile->inf, (long)Seekpts[0], SEEK_SET);