#At file:///Users/shulga/projects/mysql/mysql-5.1-bug58887/ based on revid:alexander.nozdrin@stripped
3531 Dmitry Shulga 2010-12-30
Fixed Bug#58887 - server not throwing "Packet too large" error
if max_allowed_packet >= 16M.
This bug was introduced by patch for bug#42503.
This patch restores behaviour that there was before patch
for bug#42503 was applied.
@ sql/net_serv.cc
Restored original right condition.
modified:
sql/net_serv.cc
=== modified file 'sql/net_serv.cc'
--- a/sql/net_serv.cc 2010-12-28 23:47:05 +0000
+++ b/sql/net_serv.cc 2010-12-30 09:43:53 +0000
@@ -1,4 +1,4 @@
-/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -170,17 +170,7 @@ my_bool net_realloc(NET *net, size_t len
DBUG_ENTER("net_realloc");
DBUG_PRINT("enter",("length: %lu", (ulong) length));
- /*
- When compression is off, net->where_b is always 0.
- With compression turned on, net->where_b may indicate
- that we still have a piece of the previous logical
- packet in the buffer, unprocessed. Take it into account
- when checking that max_allowed_packet is not exceeded.
- This ensures that the client treats max_allowed_packet
- limit identically, regardless of compression being on
- or off.
- */
- if (length >= (net->max_packet_size + net->where_b))
+ if (length >= net->max_packet_size)
{
DBUG_PRINT("error", ("Packet too large. Max size: %lu",
net->max_packet_size));
Attachment: [text/bzr-bundle] bzr/dmitry.shulga@oracle.com-20101230094353-qdssuspgo4cetnz0.bundle