diff --git a/impacket/dcerpc/v5/transport.py b/impacket/dcerpc/v5/transport.py index 4e16f1503..bb0286047 100644 --- a/impacket/dcerpc/v5/transport.py +++ b/impacket/dcerpc/v5/transport.py @@ -380,8 +380,13 @@ def send(self,data, forceWriteAndx = 0, forceRecv = 0): def recv(self, forceRecv = 0, count = 0): if count: buffer = b'' + chunk = b'' while len(buffer) < count: - buffer += self.__socket.recv(count-len(buffer)) + chunk = self.__socket.recv(count-len(buffer)) + if chunk != b'': + buffer += chunk + else: + break else: buffer = self.__socket.recv(8192) return buffer