From bc6c2039fb10d00c86c1b1a29bd92dabb8dfc8c7 Mon Sep 17 00:00:00 2001
From: OJ <oj@buffered.io>
Date: Wed, 9 Aug 2017 13:03:12 +1000
Subject: [PATCH] Add debug statements, and fix one that was causing crashes

---
 c/meterpreter/source/common/base.c             | 7 +++++--
 c/meterpreter/source/server/server_setup_win.c | 1 +
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/c/meterpreter/source/common/base.c b/c/meterpreter/source/common/base.c
index dd0ab873..f664c2e1 100755
--- a/c/meterpreter/source/common/base.c
+++ b/c/meterpreter/source/common/base.c
@@ -350,7 +350,7 @@ BOOL command_process_inline(Command *baseCommand, Command *extensionCommand, Rem
 				packet_call_completion_handlers(remote, packet, requestId);
 			}
 
-			dprintf("[COMMAND] Completion handlers finished for %s. Returning: %s", lpMethod, (serverContinue ? "TRUE" : "FALSE"));
+			dprintf("[COMMAND] Completion handlers finished for %s.", lpMethod);
 		} while (0);
 	}
 	__except (EXCEPTION_EXECUTE_HANDLER)
@@ -360,9 +360,12 @@ BOOL command_process_inline(Command *baseCommand, Command *extensionCommand, Rem
 
 	if (!packet->local)
 	{
+		dprintf("[COMMAND] Packet is not local, destroying");
 		packet_destroy(packet);
+		dprintf("[COMMAND] Packet destroyed");
 	}
 
+	dprintf("[COMMAND] Command processing finishing. Returning: %s", (serverContinue ? "TRUE" : "FALSE"));
 	return serverContinue;
 }
 
@@ -479,7 +482,7 @@ BOOL command_handle(Remote *remote, Packet *packet)
 		{
 			dprintf("[DISPATCH] Executing inline: %s", lpMethod);
 			result = command_process_inline(baseCommand, extensionCommand, remote, packet);
-			dprintf("[DISPATCH] Executed inline: %s, result %u (%x)", lpMethod, result, result);
+			dprintf("[DISPATCH] Executed inline: result %u (%x)", result, result);
 		}
 		else
 		{
diff --git a/c/meterpreter/source/server/server_setup_win.c b/c/meterpreter/source/server/server_setup_win.c
index 85c3d0a5..081c0cc6 100755
--- a/c/meterpreter/source/server/server_setup_win.c
+++ b/c/meterpreter/source/server/server_setup_win.c
@@ -266,6 +266,7 @@ static void config_create(Remote* remote, LPBYTE uuid, MetsrvConfig** config, LP
 		if (t == current && t->get_handle != NULL)
 		{
 			sess->comms_handle.handle = t->get_handle(t);
+			dprintf("[CONFIG] Comms handle set to %p", (UINT_PTR)sess->comms_handle.handle);
 		}
 
 		switch (t->type)