Skip to content

Commit

Permalink
OSI: fix null ptr dereference when current thread is NULL
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrew Fasano authored Dec 28, 2023
1 parent ff14601 commit 1571528
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions panda/plugins/osi/os_intro.c
Original file line number Diff line number Diff line change
Expand Up @@ -180,9 +180,16 @@ OsiThread *get_current_thread(CPUState *cpu) {
if((cachedInstructionCount != 0) &&
(cachedInstructionCount == cpu->rr_guest_instr_count)) {
thread=(OsiThread *) g_malloc(sizeof(*thread));
if (thread == NULL) {
return NULL;
}
memcpy(thread, &cachedThread, sizeof(*thread));
} else {
PPP_RUN_CB(on_get_current_thread, cpu, &thread);
if (thread == NULL) {
// Returns NULL if OSI can't find the current thread
return NULL;
}
cachedInstructionCount = cpu->rr_guest_instr_count;
memcpy(&cachedThread, thread, sizeof(cachedThread));
}
Expand Down

0 comments on commit 1571528

Please sign in to comment.