From 16d2b2f5e18da299b7ed94e313370103a1096766 Mon Sep 17 00:00:00 2001 From: Gerad Coles Date: Fri, 20 Feb 2015 16:43:26 -0800 Subject: [PATCH 1/2] Fix for mysql bug 74483/74933 --- lib/mysql/connector/network.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/mysql/connector/network.py b/lib/mysql/connector/network.py index b5b44f00..7212dc3e 100644 --- a/lib/mysql/connector/network.py +++ b/lib/mysql/connector/network.py @@ -220,10 +220,12 @@ def recv_plain(self): """Receive packets from the MySQL server""" try: # Read the header of the MySQL packet, 4 bytes - packet = bytearray(4) - read = self.sock.recv_into(packet, 4) - if read != 4: - raise errors.InterfaceError(errno=2013) + packet = self.sock.recv(1) + while len(packet) < 4: + chunk = self.sock.recv(1) + if not chunk: + raise errors.InterfaceError(errno=2013) + packet += chunk # Save the packet number and payload length self._packet_number = packet[3] From dacd384e4e25d12db8977661901963b4bd001d9d Mon Sep 17 00:00:00 2001 From: Cedric Nelson Date: Fri, 20 Feb 2015 17:05:18 -0800 Subject: [PATCH 2/2] Still use byte arrays~ --- lib/mysql/connector/network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mysql/connector/network.py b/lib/mysql/connector/network.py index 7212dc3e..0bdc9f5d 100644 --- a/lib/mysql/connector/network.py +++ b/lib/mysql/connector/network.py @@ -220,7 +220,7 @@ def recv_plain(self): """Receive packets from the MySQL server""" try: # Read the header of the MySQL packet, 4 bytes - packet = self.sock.recv(1) + packet = bytearray() while len(packet) < 4: chunk = self.sock.recv(1) if not chunk: