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? */