summaryrefslogtreecommitdiff
path: root/ext/dba/dba_db4.c
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2009-08-01 23:10:11 +0000
committerFelipe Pena <felipe@php.net>2009-08-01 23:10:11 +0000
commit085067a9aa7c1c4feed5b669d7fe251a482dc10b (patch)
treeef95d2a79941859baad0588ce25c3305d08209a0 /ext/dba/dba_db4.c
parentc75f162165bc3bc144dbe7ddfd4638f0e910e3de (diff)
downloadphp-git-085067a9aa7c1c4feed5b669d7fe251a482dc10b.tar.gz
- Fixed bug #49125 (Error in dba_exists C code)
patch by: jdornan at stanford dot edu
Diffstat (limited to 'ext/dba/dba_db4.c')
-rw-r--r--ext/dba/dba_db4.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/dba/dba_db4.c b/ext/dba/dba_db4.c
index bcec74a01b..87c0e4c0e3 100644
--- a/ext/dba/dba_db4.c
+++ b/ext/dba/dba_db4.c
@@ -175,7 +175,15 @@ DBA_EXISTS_FUNC(db4)
DB4_GKEY;
memset(&gval, 0, sizeof(gval));
+
+ if (info->flags & DBA_PERSISTENT) {
+ gval.flags |= DB_DBT_MALLOC;
+ }
+
if (!dba->dbp->get(dba->dbp, NULL, &gkey, &gval, 0)) {
+ if (info->flags & DBA_PERSISTENT) {
+ free(gval.data);
+ }
return SUCCESS;
}
return FAILURE;