mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Merge remote-tracking branch 'merge/merge-pcre' into 10.2
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
and semantics are as close as possible to those of the Perl 5 language.
|
||||
|
||||
Written by Philip Hazel
|
||||
Copyright (c) 1997-2020 University of Cambridge
|
||||
Copyright (c) 1997-2021 University of Cambridge
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
@ -9102,6 +9102,8 @@ pcre_uchar cworkspace[COMPILE_WORK_SIZE];
|
||||
similar way to cworkspace, it can be expanded using malloc() if necessary. */
|
||||
|
||||
named_group named_groups[NAMED_GROUP_LIST_SIZE];
|
||||
cd->named_groups = named_groups;
|
||||
cd->named_group_list_size = NAMED_GROUP_LIST_SIZE;
|
||||
|
||||
/* Set this early so that early errors get offset 0. */
|
||||
|
||||
@ -9375,8 +9377,6 @@ cd->hwm = cworkspace;
|
||||
cd->iscondassert = FALSE;
|
||||
cd->start_workspace = cworkspace;
|
||||
cd->workspace_size = COMPILE_WORK_SIZE;
|
||||
cd->named_groups = named_groups;
|
||||
cd->named_group_list_size = NAMED_GROUP_LIST_SIZE;
|
||||
cd->start_pattern = (const pcre_uchar *)pattern;
|
||||
cd->end_pattern = (const pcre_uchar *)(pattern + STRLEN_UC((const pcre_uchar *)pattern));
|
||||
cd->req_varyopt = 0;
|
||||
@ -9487,6 +9487,7 @@ if (cd->names_found > 0)
|
||||
add_name(cd, ng->name, ng->length, ng->number);
|
||||
if (cd->named_group_list_size > NAMED_GROUP_LIST_SIZE)
|
||||
(PUBL(free))((void *)cd->named_groups);
|
||||
cd->named_group_list_size = 0; /* So we don't free it twice */
|
||||
}
|
||||
|
||||
/* Set up a starting, non-extracting bracket, then compile the expression. On
|
||||
@ -9637,6 +9638,8 @@ if (errorcode != 0)
|
||||
{
|
||||
(PUBL(free))(re);
|
||||
PCRE_EARLY_ERROR_RETURN:
|
||||
if (cd->named_group_list_size > NAMED_GROUP_LIST_SIZE)
|
||||
(PUBL(free))((void *)cd->named_groups);
|
||||
*erroroffset = (int)(ptr - (const pcre_uchar *)pattern);
|
||||
PCRE_EARLY_ERROR_RETURN2:
|
||||
*errorptr = find_error_text(errorcode);
|
||||
|
Reference in New Issue
Block a user