diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2019-02-03 20:26:34 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2019-02-04 08:59:48 +0100 |
commit | 27b0c3822f02e8d924af6264d205ad7182d438bf (patch) | |
tree | d5bc076a3830e28db3353a09cc062a2dce361b6c /source/n/dovecot/fix-mysql-double-free.patch | |
parent | 1d9c56ff697d9b03a4124fdd13750e4d5187e239 (diff) | |
download | current-27b0c3822f02e8d924af6264d205ad7182d438bf.tar.gz current-27b0c3822f02e8d924af6264d205ad7182d438bf.tar.xz |
Sun Feb 3 20:26:34 UTC 201920190203202634
d/bison-3.3.2-x86_64-1.txz: Upgraded.
n/dovecot-2.3.4-x86_64-2.txz: Rebuilt.
Patched double free when used with MariaDB 10.3.x. Thanks to Thom1b.
x/xkeyboard-config-2.26-noarch-1.txz: Upgraded.
extra/bittorrent/bittorrent-4.4.0-noarch-4.txz: Removed.
Diffstat (limited to '')
-rw-r--r-- | source/n/dovecot/fix-mysql-double-free.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/source/n/dovecot/fix-mysql-double-free.patch b/source/n/dovecot/fix-mysql-double-free.patch new file mode 100644 index 000000000..47842f706 --- /dev/null +++ b/source/n/dovecot/fix-mysql-double-free.patch @@ -0,0 +1,36 @@ +From 3c5101ffdd2a8115e03ed7180d53578765dea4c9 Mon Sep 17 00:00:00 2001 +From: Aki Tuomi <aki.tuomi@dovecot.fi> +Date: Tue, 4 Dec 2018 14:40:04 +0200 +Subject: [PATCH] driver-mysql: Avoid double-closing MySQL connection + +Fixes double-free +--- + src/lib-sql/driver-mysql.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/lib-sql/driver-mysql.c b/src/lib-sql/driver-mysql.c +index c87e825e4b..5dd1c3124f 100644 +--- a/src/lib-sql/driver-mysql.c ++++ b/src/lib-sql/driver-mysql.c +@@ -173,7 +173,9 @@ static int driver_mysql_connect(struct sql_db *_db) + static void driver_mysql_disconnect(struct sql_db *_db) + { + struct mysql_db *db = (struct mysql_db *)_db; +- mysql_close(db->mysql); ++ if (db->mysql != NULL) ++ mysql_close(db->mysql); ++ db->mysql = NULL; + } + + static int driver_mysql_parse_connect_string(struct mysql_db *db, +@@ -311,7 +313,9 @@ static void driver_mysql_deinit_v(struct sql_db *_db) + _db->no_reconnect = TRUE; + sql_db_set_state(&db->api, SQL_DB_STATE_DISCONNECTED); + +- mysql_close(db->mysql); ++ if (db->mysql != NULL) ++ mysql_close(db->mysql); ++ db->mysql = NULL; + + sql_connection_log_finished(_db); + event_unref(&_db->event); |