From: Yasuo Ohgaki Date: Thu, 4 Apr 2002 10:25:12 +0000 (+0000) Subject: Fixed crash with pg_escape_*() X-Git-Tag: php-4.3.0dev-ZendEngine2-Preview1~892 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=186823957aa76c1e844bce8e83e2e6e6525ad4b8;p=php Fixed crash with pg_escape_*() # I'll MFH later. --- diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 1654f58d5a..934e0413b7 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -2397,8 +2397,10 @@ PHP_FUNCTION(pg_escape_string) return; } + to = (char *)emalloc(len*2+1); len = (int)PQescapeString(to, from, strlen(from)); if (len < 0) { + efree(to); RETURN_FALSE; } RETURN_STRINGL(to, len, 0); @@ -2418,9 +2420,11 @@ PHP_FUNCTION(pg_escape_bytea) to = (char *)PQescapeBytea((unsigned char*)from, strlen(from), (size_t *)&len); if (len < 0) { + /* Don't need to free "to" here*/ RETURN_FALSE; } - RETURN_STRINGL(to, len, 0); + RETURN_STRINGL(to, len, 1); + free(to); } /* }}} */ #endif