[svn:dbd-oracle] r15355 - in dbd-oracle/trunk: . lib/DBD
[email protected] Mon, 6 Aug 2012 03:30:55 -0700 (PDT)
| Newsgroups | perl.dbd.oracle.changes |
|---|---|
| Message-ID | <[email protected]> |
Author: mjevans
Date: Mon Aug 6 03:30:51 2012
New Revision: 15355
Modified:
dbd-oracle/trunk/Changes
dbd-oracle/trunk/lib/DBD/Oracle.pm
dbd-oracle/trunk/oci8.c
Log:
fix serious memory corription in TAF handling
hide some lower packages from PAUSE
Modified: dbd-oracle/trunk/Changes
==============================================================================
--- dbd-oracle/trunk/Changes (original)
+++ dbd-oracle/trunk/Changes Mon Aug 6 03:30:51 2012
@@ -1,5 +1,15 @@
Revision history for DBD::Oracle
+NEXTRELEASE
+
+ [BUG FIXES]
+
+ - fix serious memory corruption in TAF support (Martin J. Evans)
+
+ [MISCELLANEOUS]
+
+ - hide dr, db and st packages from PAUSE
+
1.47_00 2012-07-11
[BUG FIXES]
@@ -14,7 +24,7 @@
Martin J. Evans
[DOCUMENTATION]
- - Promoted the troubleshooting for the different architectures to
+ - Promoted the troubleshooting for the different architectures to
POD documents, for easier/prettier access.
- Added a troubleshooting entry for RT71819 - bound output
Modified: dbd-oracle/trunk/lib/DBD/Oracle.pm
==============================================================================
--- dbd-oracle/trunk/lib/DBD/Oracle.pm (original)
+++ dbd-oracle/trunk/lib/DBD/Oracle.pm Mon Aug 6 03:30:51 2012
@@ -123,7 +123,8 @@
}
-{ package DBD::Oracle::dr;
+{ package # hide from PAUSE
+ DBD::Oracle::dr;
{
$DBD::Oracle::dr::VERSION = '1.47_00';
}
@@ -328,7 +329,8 @@
}
-{ package DBD::Oracle::db;
+{ package # hide from PAUSE
+ DBD::Oracle::db;
{
$DBD::Oracle::db::VERSION = '1.47_00';
}
@@ -753,7 +755,7 @@
}
}
$SQL .= " ORDER BY TABLE_SCHEM, TABLE_NAME, ORDINAL_POSITION\n";
-
+
# Since DATA_DEFAULT is a LONG, DEFAULT values longer than 80 chars will
# throw an ORA-24345 by default; so we check if LongReadLen is set at
@@ -1057,7 +1059,8 @@
} # end of package DBD::Oracle::db
-{ package DBD::Oracle::st;
+{ package # hide from PAUSE
+ DBD::Oracle::st;
{
$DBD::Oracle::st::VERSION = '1.47_00';
}
@@ -1134,19 +1137,19 @@
return $sth->set_err($DBI::stderr, "executing $tuple_count generated $err_count errors")
if $err_count;
- return wantarray
+ return wantarray
? ($tuple_count, defined $row_count ? $row_count : undef)
: $tuple_count;
}
sub private_attribute_info {
- return { map { $_ => undef } qw/
- ora_lengths
- ora_types
+ return { map { $_ => undef } qw/
+ ora_lengths
+ ora_types
ora_rowid
- ora_est_row_width
- ora_type
+ ora_est_row_width
+ ora_type
ora_fail_over
/ };
}
Modified: dbd-oracle/trunk/oci8.c
==============================================================================
--- dbd-oracle/trunk/oci8.c (original)
+++ dbd-oracle/trunk/oci8.c Mon Aug 6 03:30:51 2012
@@ -1144,7 +1144,7 @@
/* MJE commented out as we are avoiding DBIS now but as this is
an Oracle callback there is no way to pass something non
OCI into this func.
-
+
if (DBIS->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(DBILOGFP, " in '%s' [%lu,%lu]: len %2lu, ind %d%s, value=%s\n",
phs->name, ul_t(iter), ul_t(index), ul_t(phs->alen), phs->indp,
@@ -1320,12 +1320,12 @@
return_count = call_pv(cb->function, G_SCALAR);
SPAGAIN;
-
+
if (return_count != 1)
croak("Expected one scalar back from taf handler");
ret = POPi;
-
+
switch (fo_event){
case OCI_FO_BEGIN:
@@ -1350,7 +1350,7 @@
}
}
PUTBACK;
-
+
return 0;
}
@@ -1364,7 +1364,7 @@
taf_callback_t *cb = NULL;
/*allocate space for the callback */
Newz(1, cb, 1, taf_callback_t);
- cb->function= (char*)safemalloc(strlen(imp_dbh->taf_function));
+ cb->function= (char*)safemalloc(strlen(imp_dbh->taf_function) + 1);
cb->sleep = imp_dbh->taf_sleep;
strcpy((char *)cb->function,imp_dbh->taf_function);