ti...@cvs.perl.org
unread,Mar 28, 2013, 8:30:32 AM3/28/13You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to svn-commit-...@perl.org
Author: timbo
Date: Thu Mar 28 05:30:31 2013
New Revision: 15591
Modified:
dbi/trunk/Changes
dbi/trunk/DBI.xs
Log:
Fixed heap-use-after-free during global destruction RT#75614
Modified: dbi/trunk/Changes
==============================================================================
--- dbi/trunk/Changes (original)
+++ dbi/trunk/Changes Thu Mar 28 05:30:31 2013
@@ -8,6 +8,10 @@
=cut
+=head2 Changes in DBI 1.625
+
+ Fixed heap-use-after-free during global destruction RT#75614
+
=head2 Changes in DBI 1.624 (svn r15576) 22nd March 2013
Fixed Gofer for hash randomization in perl 5.17.10+ RT#84146
Modified: dbi/trunk/DBI.xs
==============================================================================
--- dbi/trunk/DBI.xs (original)
+++ dbi/trunk/DBI.xs Thu Mar 28 05:30:31 2013
@@ -3342,7 +3342,8 @@
}
if (ima_flags & IMA_KEEP_ERR)
keep_error = TRUE;
- if (ima_flags & IMA_KEEP_ERR_SUB
+ if ((ima_flags & IMA_KEEP_ERR_SUB)
+ && !PL_dirty
&& DBIc_PARENT_COM(imp_xxh) && DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh)) > 0)
keep_error = TRUE;
if (ima_flags & IMA_CLEAR_STMT) {
@@ -3449,6 +3450,7 @@
DBIc_ACTIVE_off(imp_xxh);
}
call_depth = 0;
+ is_nested_call = 0;
}
else {
DBI_SET_LAST_HANDLE(h);
@@ -3461,9 +3463,9 @@
/* XXX sv_copy() if Profiling? */
(void)hv_store((HV*)SvRV(parent), "Statement", 9, SvREFCNT_inc(tmp_sv), 0);
}
+ is_nested_call = (!PL_dirty && (DBIc_PARENT_COM(imp_xxh) && (DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh)) >= 1)) );
}
- is_nested_call = ( call_depth > 1 || (DBIc_PARENT_COM(imp_xxh) && (DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh)) >= 1)) );
/* --- dispatch --- */