From 124fb22a13fafa3648e4e15b4f207c7096d8155e Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Thu, 8 Jan 2015 16:09:02 +0800 Subject: [PATCH] Fixed bug #68739 #68740 #68741 --- ext/curl/interface.c | 1 + ext/ereg/regex/regcomp.c | 4 ++++ ext/pgsql/pgsql.c | 3 +++ 3 files changed, 8 insertions(+) diff --git a/ext/curl/interface.c b/ext/curl/interface.c index f5bfb1e919..0c267e0681 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -2721,6 +2721,7 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /* {{{ curl_easy_setopt(ch->cp, CURLOPT_SHARE, sh->share); } } + break; #if LIBCURL_VERSION_NUM >= 0x071500 /* Available since 7.21.0 */ case CURLOPT_FNMATCH_FUNCTION: diff --git a/ext/ereg/regex/regcomp.c b/ext/ereg/regex/regcomp.c index 730bcf568a..f55862b922 100644 --- a/ext/ereg/regex/regcomp.c +++ b/ext/ereg/regex/regcomp.c @@ -1276,6 +1276,10 @@ int c; register int ncols = (g->ncsets+(CHAR_BIT-1)) / CHAR_BIT; register unsigned uc = (unsigned char)c; + if (!g->setbits) { + return(0); + } + for (i = 0, col = g->setbits; i < ncols; i++, col += g->csetsize) if (col[uc] != 0) return(1); diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index e4aab66e00..0469c8b1ba 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -6445,6 +6445,9 @@ static inline void build_tablename(smart_str *querystr, PGconn *pg_link, const c /* schame.table should be "schame"."table" */ table_copy = estrdup(table); token = php_strtok_r(table_copy, ".", &tmp); + if (token == NULL) { + token = table; + } len = strlen(token); if (_php_pgsql_detect_identifier_escape(token, len) == SUCCESS) { smart_str_appendl(querystr, token, len); -- 2.40.0