Update to 4.0.29 and fix a use-after-free
ok brad@
This commit is contained in:
parent
957d7fe347
commit
5b47f36e86
@ -1,10 +1,10 @@
|
||||
# $OpenBSD: Makefile,v 1.41 2014/12/06 14:26:44 giovanni Exp $
|
||||
# $OpenBSD: Makefile,v 1.42 2015/01/17 00:42:16 giovanni Exp $
|
||||
|
||||
SHARED_ONLY= Yes
|
||||
|
||||
COMMENT= MySQL drivers for the Perl DBI
|
||||
|
||||
DISTNAME= DBD-mysql-4.028
|
||||
DISTNAME= DBD-mysql-4.029
|
||||
CATEGORIES= databases
|
||||
|
||||
MAINTAINER= Giovanni Bechis <giovanni@openbsd.org>
|
||||
|
@ -1,2 +1,2 @@
|
||||
SHA256 (DBD-mysql-4.028.tar.gz) = WEKySv/avOixcSL5EM1bWyU78mbX5QhK9d9CSFI4Ee0=
|
||||
SIZE (DBD-mysql-4.028.tar.gz) = 138614
|
||||
SHA256 (DBD-mysql-4.029.tar.gz) = pJ0cG8+swJzy0fpjiuZTwubFjrwIFgkwaSKCqxhz1Qw=
|
||||
SIZE (DBD-mysql-4.029.tar.gz) = 139722
|
||||
|
31
databases/p5-DBD-mysql/patches/patch-dbdimp_c
Normal file
31
databases/p5-DBD-mysql/patches/patch-dbdimp_c
Normal file
@ -0,0 +1,31 @@
|
||||
$OpenBSD: patch-dbdimp_c,v 1.1 2015/01/17 00:42:16 giovanni Exp $
|
||||
Fix a use-after-free if my_login fails
|
||||
|
||||
--- dbdimp.c.orig Mon Dec 8 09:44:50 2014
|
||||
+++ dbdimp.c Sun Dec 28 00:40:38 2014
|
||||
@@ -2061,8 +2061,11 @@ static int my_login(pTHX_ SV* dbh, imp_dbh_t *imp_dbh)
|
||||
result = mysql_dr_connect(dbh, imp_dbh->pmysql, mysql_socket, host, port, user,
|
||||
password, dbname, imp_dbh) ? TRUE : FALSE;
|
||||
if (fresh && !result) {
|
||||
+ do_error(dbh, mysql_errno(imp_dbh->pmysql),
|
||||
+ mysql_error(imp_dbh->pmysql) ,mysql_sqlstate(imp_dbh->pmysql));
|
||||
/* Prevent leaks, but do not free in case of a reconnect. See #97625 */
|
||||
Safefree(imp_dbh->pmysql);
|
||||
+ imp_dbh->pmysql = NULL;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -4953,9 +4956,11 @@ int mysql_db_reconnect(SV* h)
|
||||
*/
|
||||
if (!dbd_db_disconnect(h, imp_dbh) || !my_login(aTHX_ h, imp_dbh))
|
||||
{
|
||||
- do_error(h, mysql_errno(imp_dbh->pmysql), mysql_error(imp_dbh->pmysql),
|
||||
+ if(!imp_dbh->pmysql) {
|
||||
+ do_error(h, mysql_errno(imp_dbh->pmysql), mysql_error(imp_dbh->pmysql),
|
||||
mysql_sqlstate(imp_dbh->pmysql));
|
||||
- memcpy (imp_dbh->pmysql, &save_socket, sizeof(save_socket));
|
||||
+ memcpy (imp_dbh->pmysql, &save_socket, sizeof(save_socket));
|
||||
+ }
|
||||
++imp_dbh->stats.auto_reconnects_failed;
|
||||
return FALSE;
|
||||
}
|
@ -1,14 +1,14 @@
|
||||
@comment $OpenBSD: PLIST,v 1.7 2014/07/11 14:11:12 giovanni Exp $
|
||||
@comment $OpenBSD: PLIST,v 1.8 2015/01/17 00:42:16 giovanni Exp $
|
||||
@comment ${P5ARCH}/Bundle/DBD/
|
||||
@comment ${P5ARCH}/Bundle/DBD/mysql.pm
|
||||
@comment ${P5ARCH}/DBD/README.pod
|
||||
@comment ${P5ARCH}/DBD/mysql/INSTALL.pod
|
||||
@comment ${P5ARCH}/auto/DBD/mysql/mysql.bs
|
||||
${P5ARCH}/DBD/mysql/
|
||||
${P5ARCH}/DBD/mysql.pm
|
||||
${P5ARCH}/DBD/mysql/GetInfo.pm
|
||||
@comment ${P5ARCH}/DBD/mysql/INSTALL.pod
|
||||
${P5ARCH}/auto/DBD/
|
||||
${P5ARCH}/auto/DBD/mysql/
|
||||
@comment ${P5ARCH}/auto/DBD/mysql/mysql.bs
|
||||
${P5ARCH}/auto/DBD/mysql/mysql.so
|
||||
@man man/man3p/Bundle::DBD::mysql.3p
|
||||
@man man/man3p/DBD::README.3p
|
||||
|
Loading…
x
Reference in New Issue
Block a user