pg: check numeric user inputs

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Sami Kerola 2012-10-02 21:15:18 +01:00 committed by Karel Zak
parent 9404a96a57
commit 2e472189c1
2 changed files with 7 additions and 4 deletions

View File

@ -59,11 +59,11 @@ pg_SOURCES = text-utils/pg.c
if HAVE_TINFO
more_LDADD = $(LDADD) -ltinfo
pg_LDADD = $(LDADD) -ltinfo @NCURSES_LIBS@
pg_LDADD = $(LDADD) libcommon.la -ltinfo @NCURSES_LIBS@
ul_LDADD = $(LDADD) -ltinfo
else
more_LDADD = $(LDADD) @NCURSES_LIBS@
pg_LDADD = $(LDADD) @NCURSES_LIBS@
pg_LDADD = $(LDADD) libcommon.la @NCURSES_LIBS@
ul_LDADD = $(LDADD) @NCURSES_LIBS@
endif

View File

@ -64,6 +64,7 @@
#include "widechar.h"
#include "all-io.h"
#include "closestream.h"
#include "strutils.h"
#define READBUF LINE_MAX /* size of input buffer */
#define CMDBUF 255 /* size of command buffer */
@ -1623,7 +1624,8 @@ main(int argc, char **argv)
goto endargs;
case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9': case '0':
pagelen = atoi(argv[arg] + i);
pagelen = strtol_or_err(argv[arg] + 1,
_("failed to parse number of lines per page"));
havepagelen = 1;
goto nextarg;
case 'c':
@ -1687,7 +1689,8 @@ endargs:
/*NOTREACHED*/
case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9': case '0':
startline = atoi(argv[arg] + 1);
startline = strtol_or_err(argv[arg] + 1,
_("failed to parse number of lines per page"));
break;
case '/':
searchfor = argv[arg] + 2;