mirror of
https://github.com/rapid7/metasploit-payloads
synced 2025-04-24 10:09:49 +02:00
PR tidy based on feedback
* Updated `thread_create` so that it has 3 parameters, and removed `thread_create3`. * Updated all calls to `thread_create` and added the extra parameter of `NULL`. * Fixed comment typo. * Removed assignment where value is not used. * Checked for `NULL` prior to setting the result. * Undefined `DEBUGTRACE`.
This commit is contained in:
parent
3b40f1abd0
commit
719dbe2b51
c/meterpreter/source
common
extensions
@ -207,7 +207,8 @@ BOOL remote_request_core_migrate( Remote * remote, Packet * packet, DWORD* pResu
|
||||
if( hEvent )
|
||||
CloseHandle( hEvent );
|
||||
|
||||
*pResult = dwResult;
|
||||
if( pResult )
|
||||
*pResult = dwResult;
|
||||
|
||||
return dwResult = ERROR_SUCCESS ? TRUE : FALSE;
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ DWORD scheduler_insert_waitable( HANDLE waitable, LPVOID context, WaitableNotify
|
||||
entry->context = context;
|
||||
entry->routine = routine;
|
||||
|
||||
swt = thread_create( scheduler_waitable_thread, entry, NULL );
|
||||
swt = thread_create( scheduler_waitable_thread, entry, NULL, NULL );
|
||||
if( swt != NULL )
|
||||
{
|
||||
dprintf( "[SCHEDULER] created scheduler_waitable_thread 0x%08X", swt );
|
||||
|
@ -58,7 +58,8 @@ Command base_commands[] =
|
||||
},
|
||||
|
||||
// Native Channel commands
|
||||
COMMAND_REQ_REP( "core_channel_open", remote_request_core_channel_open, remote_response_core_channel_open ), // this overloads the base "core_channel_open"
|
||||
// this overloads the "core_channel_open" in the base command list
|
||||
COMMAND_REQ_REP( "core_channel_open", remote_request_core_channel_open, remote_response_core_channel_open ),
|
||||
COMMAND_REQ( "core_channel_write", remote_request_core_channel_write ),
|
||||
COMMAND_REQ_REP( "core_channel_close", remote_request_core_channel_close, remote_response_core_channel_close ),
|
||||
|
||||
@ -244,7 +245,7 @@ BOOL command_process_inline( Command *command, Remote *remote, Packet *packet )
|
||||
|
||||
// Validate the arguments, if requested. Always make sure argument
|
||||
// lengths are sane.
|
||||
if( (result = command_validate_arguments( command, packet )) != ERROR_SUCCESS )
|
||||
if( command_validate_arguments( command, packet ) != ERROR_SUCCESS )
|
||||
break;
|
||||
|
||||
packetTlvType = packet_get_type( packet );
|
||||
@ -333,7 +334,7 @@ BOOL command_handle( Remote *remote, Packet *packet )
|
||||
result = command_process_inline( command, remote, packet );
|
||||
} else {
|
||||
dprintf( "Executing in thread: %s", command->method );
|
||||
cpt = thread_create3( command_process_thread, remote, packet, command );
|
||||
cpt = thread_create( command_process_thread, remote, packet, command );
|
||||
if( cpt )
|
||||
{
|
||||
dprintf( "[DISPATCH] created command_process_thread 0x%08X, handle=0x%08X", cpt, cpt->handle );
|
||||
|
@ -46,7 +46,7 @@ typedef BOOL (*INLINE_DISPATCH_ROUTINE)( Remote *remote, Packet *packet, DWORD*
|
||||
#define COMMAND_REQ_REP(name, reqHandler, repHandler) { name, { reqHandler, NULL, EMPTY_TLV }, { repHandler, NULL, EMPTY_TLV } }
|
||||
/*!
|
||||
* @brief Helper macro that defines a command instance with an inline request handler only.
|
||||
* @remarks The request handler will be executed on the server thread thread.
|
||||
* @remarks The request handler will be executed on the server thread.
|
||||
*/
|
||||
#define COMMAND_INLINE_REQ(name, reqHandler) { name, { NULL, reqHandler, EMPTY_TLV }, { EMPTY_DISPATCH_HANDLER } }
|
||||
|
||||
|
@ -161,8 +161,8 @@ void real_dprintf(char *filename, int line, const char *function, char *format,
|
||||
|
||||
#include <wininet.h>
|
||||
|
||||
/*! @brief When defined, debug output is enabled. */
|
||||
#define DEBUGTRACE 1
|
||||
/*! @brief When defined, debug output is enabled on Windows builds. */
|
||||
//#define DEBUGTRACE 1
|
||||
|
||||
#ifdef DEBUGTRACE
|
||||
#define dprintf(...) real_dprintf(__VA_ARGS__)
|
||||
|
@ -321,12 +321,7 @@ void *__paused_thread(void *req)
|
||||
/*
|
||||
* Create a new thread in a suspended state.
|
||||
*/
|
||||
THREAD * thread_create( THREADFUNK funk, LPVOID param1, LPVOID param2 )
|
||||
{
|
||||
return thread_create3( funk, param1, param2, NULL );
|
||||
}
|
||||
|
||||
THREAD * thread_create3( THREADFUNK funk, LPVOID param1, LPVOID param2, LPVOID param3 )
|
||||
THREAD * thread_create( THREADFUNK funk, LPVOID param1, LPVOID param2, LPVOID param3 )
|
||||
{
|
||||
THREAD * thread = NULL;
|
||||
|
||||
|
@ -100,8 +100,7 @@ BOOL event_poll( EVENT * event, DWORD timeout );
|
||||
|
||||
THREAD * thread_open( VOID );
|
||||
|
||||
THREAD * thread_create( THREADFUNK funk, LPVOID param1, LPVOID param2 );
|
||||
THREAD * thread_create3( THREADFUNK funk, LPVOID param1, LPVOID param2, LPVOID param3 );
|
||||
THREAD * thread_create( THREADFUNK funk, LPVOID param1, LPVOID param2, LPVOID param3 );
|
||||
|
||||
BOOL thread_run( THREAD * thread );
|
||||
|
||||
|
@ -120,7 +120,7 @@ DWORD elevate_via_service_namedpipe( Remote * remote, Packet * packet )
|
||||
|
||||
_snprintf_s( cServiceArgs, sizeof(cServiceArgs), MAX_PATH, "cmd.exe /c echo %s > %s", cpServiceName, cServicePipe );
|
||||
|
||||
pThread = thread_create( elevate_namedpipe_thread, &cServicePipe, remote );
|
||||
pThread = thread_create( elevate_namedpipe_thread, &cServicePipe, remote, NULL );
|
||||
if( !pThread )
|
||||
BREAK_WITH_ERROR( "[ELEVATE] elevate_via_service_namedpipe. thread_create failed", ERROR_INVALID_HANDLE );
|
||||
|
||||
@ -224,7 +224,7 @@ DWORD elevate_via_service_namedpipe2( Remote * remote, Packet * packet )
|
||||
if( dwTotal != dwServiceLength )
|
||||
BREAK_WITH_ERROR( "[ELEVATE] elevate_via_service_namedpipe2. WriteFile hServiceFile failed", ERROR_BAD_LENGTH );
|
||||
|
||||
pThread = thread_create( elevate_namedpipe_thread, &cServicePipe, remote );
|
||||
pThread = thread_create( elevate_namedpipe_thread, &cServicePipe, remote, NULL );
|
||||
if( !pThread )
|
||||
BREAK_WITH_ERROR( "[ELEVATE] elevate_via_service_namedpipe2. thread_create failed", ERROR_INVALID_HANDLE );
|
||||
|
||||
|
@ -675,7 +675,7 @@ DWORD request_sniffer_capture_start(Remote *remote, Packet *packet) {
|
||||
dprintf("filter applied successfully");
|
||||
}
|
||||
|
||||
j->thread = thread_create((THREADFUNK) sniffer_thread, j, NULL);
|
||||
j->thread = thread_create((THREADFUNK) sniffer_thread, j, NULL, NULL);
|
||||
if(! j->thread) {
|
||||
pcap_close(j->pcap);
|
||||
break;
|
||||
|
@ -386,7 +386,7 @@ DWORD request_ui_desktop_screenshot( Remote * remote, Packet * request )
|
||||
dprintf( "[UI] desktop_screenshot. dwCurrentSessionId=%d, dwActiveSessionId=%d, cCommandLine=%s\n", dwCurrentSessionId, dwActiveSessionId, cCommandLine );
|
||||
|
||||
// start a thread to create a named pipe server and wait for a client to connect an send back the JPEG screenshot.
|
||||
pPipeThread = thread_create( desktop_screenshot_thread, &cNamedPipe, response );
|
||||
pPipeThread = thread_create( desktop_screenshot_thread, &cNamedPipe, response, NULL );
|
||||
if( !pPipeThread )
|
||||
BREAK_WITH_ERROR( "[UI] desktop_screenshot. thread_create failed", ERROR_INVALID_HANDLE );
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user