From: Sami Kerola Date: Sun, 17 Jun 2012 13:01:34 +0000 (+0200) Subject: more: fix pointer wrap around compiler warnings X-Git-Tag: v2.22-rc1~267^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=327b7c5bfb3761a8125a41e6a059cb6a5ba5cc3d;p=thirdparty%2Futil-linux.git more: fix pointer wrap around compiler warnings more.c:318:5: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] more.c:362:3: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow] Signed-off-by: Sami Kerola --- diff --git a/text-utils/more.c b/text-utils/more.c index acd58c8b01..4cf090fd6e 100644 --- a/text-utils/more.c +++ b/text-utils/more.c @@ -318,7 +318,6 @@ static void __attribute__ ((__noreturn__)) usage(FILE *out) int main(int argc, char **argv) { FILE *f; char *s; - char *p; int ch; int left; int prnames = 0; @@ -326,7 +325,7 @@ int main(int argc, char **argv) { int srchopt = 0; int clearit = 0; int initline = 0; - char initbuf[INIT_BUF]; + char *initbuf = NULL; setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); @@ -359,9 +358,7 @@ int main(int argc, char **argv) { s = *fnames; if (*++s == '/') { srchopt++; - for (++s, p = initbuf; p < initbuf + (INIT_BUF - 1) && *s != '\0';) - *p++ = *s++; - *p = '\0'; + initbuf = xstrdup(s + 1); } else { initopt++; @@ -496,6 +493,7 @@ int main(int argc, char **argv) { firstf = 0; } free (previousre); + free (initbuf); reset_tty (); exit(EXIT_SUCCESS); }