From 186823957aa76c1e844bce8e83e2e6e6525ad4b8 Mon Sep 17 00:00:00 2001 From: Yasuo Ohgaki Date: Thu, 4 Apr 2002 10:25:12 +0000 Subject: [PATCH] Fixed crash with pg_escape_*() # I'll MFH later. --- ext/pgsql/pgsql.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 -- 2.50.1