summaryrefslogtreecommitdiff
path: root/src/regex.c
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1993-01-07 01:47:11 +0000
committerJim Blandy <jimb@redhat.com>1993-01-07 01:47:11 +0000
commit8558648404450c91feaf81a47f044b6465cb58d9 (patch)
treec1afae83ff0f7acee0889996172def2360d0360d /src/regex.c
parent652304c9d3b94a3969434145eeaa3844bb99afe2 (diff)
downloademacs-8558648404450c91feaf81a47f044b6465cb58d9.tar.gz
*** empty log message ***
Diffstat (limited to 'src/regex.c')
-rw-r--r--src/regex.c17
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)
{