diff options
author | Jim Blandy <jimb@redhat.com> | 1993-01-07 01:47:11 +0000 |
---|---|---|
committer | Jim Blandy <jimb@redhat.com> | 1993-01-07 01:47:11 +0000 |
commit | 8558648404450c91feaf81a47f044b6465cb58d9 (patch) | |
tree | c1afae83ff0f7acee0889996172def2360d0360d /src/regex.c | |
parent | 652304c9d3b94a3969434145eeaa3844bb99afe2 (diff) | |
download | emacs-8558648404450c91feaf81a47f044b6465cb58d9.tar.gz |
*** empty log message ***
Diffstat (limited to 'src/regex.c')
-rw-r--r-- | src/regex.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/regex.c b/src/regex.c index b0c15c2ca87..eda11b5350a 100644 --- a/src/regex.c +++ b/src/regex.c @@ -3,7 +3,7 @@ (Implements POSIX draft P10003.2/D11.2, except for internationalization features.) - Copyright (C) 1985, 89, 90, 91, 92 Free Software Foundation, Inc. + Copyright (C) 1993 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -4869,9 +4869,18 @@ regerror (errcode, preg, errbuf, errbuf_size) char *errbuf; size_t errbuf_size; { - const char *msg - = re_error_msg[errcode] == NULL ? "Success" : re_error_msg[errcode]; - size_t msg_size = strlen (msg) + 1; /* Includes the null. */ + const char *msg; + size_t msg_size; + + if (errcode < 0 + || errcode >= (sizeof (re_error_msg) / sizeof (re_error_msg[0]))) + /* Only error codes returned by the rest of the code should be passed + to this routine. If we are given anything else, or if other regex + code generates an invalid error code, then the program has a bug. + Dump core so we can fix it. */ + abort (); + + msg_size = strlen (msg) + 1; /* Includes the null. */ if (errbuf_size != 0) { |