From 94df6b68cadf0a0e5daa4fe4fbceda68d7c346e9 Mon Sep 17 00:00:00 2001 From: Phitherek Date: Sun, 3 Mar 2013 01:15:45 +0100 Subject: [PATCH] fixed a minor but annoying bug in ClientSocket/ServerSocket.recv() --- ClientSocket.cpp | 1 + ClientSocket.o | Bin 0 -> 14200 bytes HTTPClientSocket.o | Bin 0 -> 25464 bytes NetSocket.o | Bin 0 -> 10272 bytes NetworkException.o | Bin 0 -> 8216 bytes ServerSocket.cpp | 1 + ServerSocket.o | Bin 0 -> 22936 bytes SocketException.o | Bin 0 -> 7848 bytes libnetsocketpp.so.0.1 | Bin 0 -> 55424 bytes 9 files changed, 2 insertions(+) create mode 100644 ClientSocket.o create mode 100644 HTTPClientSocket.o create mode 100644 NetSocket.o create mode 100644 NetworkException.o create mode 100644 ServerSocket.o create mode 100644 SocketException.o create mode 100755 libnetsocketpp.so.0.1 diff --git a/ClientSocket.cpp b/ClientSocket.cpp index d83ad74..17b02a3 100644 --- a/ClientSocket.cpp +++ b/ClientSocket.cpp @@ -36,6 +36,7 @@ int ClientSocket::send(std::string msg, int flags=0) { } int ClientSocket::recv(int flags) { + memset(&_buf[0], 0, sizeof(_buf)); if(_protocol == "TCP") { int rr = ::recv(_descriptor, buf, 99999, flags); if(rr == -1) { diff --git a/ClientSocket.o b/ClientSocket.o new file mode 100644 index 0000000000000000000000000000000000000000..f254f8e3551c8fce6889e00ea6d8ed5ea57e63c6 GIT binary patch literal 14200 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 j0cZJ+hMGYk&R=;sxXF literal 0 HcmV?d00001 diff --git a/HTTPClientSocket.o b/HTTPClientSocket.o new file mode 100644 index 0000000000000000000000000000000000000000..d7f9583e8a8f88490fc1cedb136ccd013afe8dd0 GIT binary patch literal 25464 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 literal 0 HcmV?d00001 diff --git a/NetSocket.o b/NetSocket.o new file mode 100644 index 0000000000000000000000000000000000000000..ae137c079f212e91674a527e094ea6f15db6fdd0 GIT binary patch literal 10272 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 m`_D6ucJ5H=cNs@JbgpuOaTQug&c*V`Mz-Ao) literal 0 HcmV?d00001 diff --git a/NetworkException.o b/NetworkException.o new file mode 100644 index 0000000000000000000000000000000000000000..0dd4f5a6d66334c32a221a6fcc08de1c2aa506a9 GIT binary patch literal 8216 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 literal 0 HcmV?d00001 diff --git a/ServerSocket.cpp b/ServerSocket.cpp index d69a1d9..1cd2fee 100644 --- a/ServerSocket.cpp +++ b/ServerSocket.cpp @@ -121,6 +121,7 @@ int ServerSocket::send(std::string msg, int flags) { } int ServerSocket::recv(int flags) { + memset(&_buf[0], 0, sizeof(_buf)); if(_protocol == "TCP") { int rr = ::recv(_newDescriptor, _buf, 99999, flags); if(rr == -1) { diff --git a/ServerSocket.o b/ServerSocket.o new file mode 100644 index 0000000000000000000000000000000000000000..5ef2808e7362eceac965db511e3a71efeb5220f3 GIT binary patch literal 22936 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 P(tfc8697d1Q{Mgq2QusM literal 0 HcmV?d00001 diff --git a/libnetsocketpp.so.0.1 b/libnetsocketpp.so.0.1 new file mode 100755 index 0000000000000000000000000000000000000000..c19a7eaf8a15d8e97338f0036659e127463c6a83 GIT binary patch literal 55424 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 Ti>5@wTx|f_oHLG-?fU-#`7&aw literal 0 HcmV?d00001