From f1359420dab7df04acde5834f20d991372224a70 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 12 Nov 2013 11:30:32 +0000 Subject: [PATCH] * libc/libc/stdlib/getopt.c (getopt_internal): Fix NULL pointer access. --- newlib/ChangeLog | 4 ++++ newlib/libc/stdlib/getopt.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/newlib/ChangeLog b/newlib/ChangeLog index b5cec73c3..65d473467 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,7 @@ +2013-11-12 Sebastian Huber + + * libc/libc/stdlib/getopt.c (getopt_internal): Fix NULL pointer access. + 2013-11-08 Terry Guo * libm/libm.texinfo: Rename node Index to Document Index. diff --git a/newlib/libc/stdlib/getopt.c b/newlib/libc/stdlib/getopt.c index 2bea694e8..2a4e7d4a2 100644 --- a/newlib/libc/stdlib/getopt.c +++ b/newlib/libc/stdlib/getopt.c @@ -269,6 +269,10 @@ getopt_internal (int argc, char *const argv[], const char *shortopts, break; } } + /* End of option list? */ + if (argv[data->optind] == 0) + return EOF; + /* we've got an option, so parse it */ /* first, is it a long option? */