From: Daniel Gruno Date: Wed, 13 Feb 2013 14:02:43 +0000 (+0000) Subject: r:regex was not returning the last captured group, as we were one off on how many... X-Git-Tag: 2.5.0-alpha~5777 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2aa8e5eb40b5ff63cd3af13cf7eb40d5a9274ba6;p=apache r:regex was not returning the last captured group, as we were one off on how many captures to push to the table. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1445609 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/lua/lua_request.c b/modules/lua/lua_request.c index c1267f3cbd..e1a417d5d8 100644 --- a/modules/lua/lua_request.c +++ b/modules/lua/lua_request.c @@ -901,7 +901,7 @@ static int lua_ap_regex(lua_State *L) *source; char *err; ap_regex_t regex; - ap_regmatch_t matches[AP_MAX_REG_MATCH]; + ap_regmatch_t matches[AP_MAX_REG_MATCH+1]; luaL_checktype(L, 1, LUA_TUSERDATA); luaL_checktype(L, 2, LUA_TSTRING); @@ -926,7 +926,7 @@ static int lua_ap_regex(lua_State *L) } lua_newtable(L); - for (i = 0; i < regex.re_nsub; i++) { + for (i = 0; i <= regex.re_nsub; i++) { lua_pushinteger(L, i); if (matches[i].rm_so >= 0 && matches[i].rm_eo >= 0) lua_pushstring(L,