From 09139a3638812ef8ee7f766010729d75ceabad07 Mon Sep 17 00:00:00 2001 From: Malfurious <m@lfurio.us> Date: Wed, 15 Dec 2021 21:20:44 -0500 Subject: sploit: Ensure the logonread option is restored by Comm.readuntil() This function has a momentary side-effect of switching self.logonread to False. This patch ensures its original value is always restored, even if an exception is raised. Signed-off-by: Malfurious <m@lfurio.us> Signed-off-by: dusoleil <howcansocksbereal@gmail.com> --- tools/sploit/sploit/comm.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'tools/sploit') diff --git a/tools/sploit/sploit/comm.py b/tools/sploit/sploit/comm.py index 0bc8c6a..afa14e8 100644 --- a/tools/sploit/sploit/comm.py +++ b/tools/sploit/sploit/comm.py @@ -41,11 +41,13 @@ class Comm: pred = bind(pred, *args, **kwargs) l = self.logonread self.logonread = False - while(True): - data += self.read(1) - if(pred(data)): - break - self.logonread = l + try: + while(True): + data += self.read(1) + if(pred(data)): + break + finally: + self.logonread = l if self.logonread : ilog(data, file=sys.stdout, color=NORMAL) return data -- cgit v1.2.3