From f97c1ef0d97f4de4ebcc52e0037e01599f78beed Mon Sep 17 00:00:00 2001
From: sunshine <sunshine>
Date: Tue, 3 Aug 2004 08:51:28 +0000
Subject: [PATCH] Fixed bug in recvfrom()

---
 apps/sam/python/src/i2p/socket.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/apps/sam/python/src/i2p/socket.py b/apps/sam/python/src/i2p/socket.py
index bd67a21a4a..c3609a8fe6 100644
--- a/apps/sam/python/src/i2p/socket.py
+++ b/apps/sam/python/src/i2p/socket.py
@@ -416,11 +416,14 @@ class Socket:
 
     if self.type == SOCK_STREAM:
       self._verify_connected()
-      if bufsize < 0: raise ValueError('bufsize must be >= 0')
+      if bufsize < 0: raise ValueError('bufsize must be >= 0 for streams')
       return (self.sessobj.recv(bufsize, timeout, peek, waitall), \
               self.remotedest)
     else:
-      return self.sessobj.recv(timeout, peek)[:bufsize]
+      if bufsize < -1:
+        raise ValueError('bufsize must be >= -1 for packets')
+      (data, addr) = self.sessobj.recv(timeout, peek)
+      return (data[:bufsize], addr)
 
   def send(self, string, flags=0):
     """Sends string data to a remote Destination.
-- 
GitLab