Fixed a bug in the dev_read_memory command
This commit is contained in:
@@ -3,5 +3,7 @@ project(checkm8_tool)
|
|||||||
enable_language(C)
|
enable_language(C)
|
||||||
|
|
||||||
include_directories(include)
|
include_directories(include)
|
||||||
|
|
||||||
|
#add_subdirectory(c8_arduino)
|
||||||
add_subdirectory(c8_remote)
|
add_subdirectory(c8_remote)
|
||||||
add_subdirectory(c8_payloads)
|
add_subdirectory(c8_payloads)
|
||||||
|
|||||||
@@ -228,10 +228,12 @@ struct dev_cmd_resp *dev_read_memory(struct pwned_device *dev, long long addr, i
|
|||||||
|
|
||||||
resp = command(dev, (unsigned char *) &cmd_args, 5 * sizeof(unsigned long long), 16 + amount);
|
resp = command(dev, (unsigned char *) &cmd_args, 5 * sizeof(unsigned long long), 16 + amount);
|
||||||
ret->ret = resp->ret;
|
ret->ret = resp->ret;
|
||||||
|
ret->retval = resp->retval;
|
||||||
|
|
||||||
if(IS_CHECKM8_FAIL(resp->ret))
|
if(IS_CHECKM8_FAIL(resp->ret))
|
||||||
{
|
{
|
||||||
checkm8_debug_indent("\tlast transfer failed, aborting\n");
|
checkm8_debug_indent("\tlast transfer failed, aborting\n");
|
||||||
|
|
||||||
free_dev_cmd_resp(resp);
|
free_dev_cmd_resp(resp);
|
||||||
free(ret->data);
|
free(ret->data);
|
||||||
ret->data = NULL;
|
ret->data = NULL;
|
||||||
@@ -240,7 +242,7 @@ struct dev_cmd_resp *dev_read_memory(struct pwned_device *dev, long long addr, i
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
checkm8_debug_indent("\tsuccessfully copied chunk\n");
|
checkm8_debug_indent("\tsuccessfully copied chunk\n");
|
||||||
memcpy(&ret->data[index], &resp->data[8], amount);
|
memcpy(&ret->data[index], resp->data, amount);
|
||||||
free_dev_cmd_resp(resp);
|
free_dev_cmd_resp(resp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user