hex_string += sprintf(hex_string, "%02x", 0);
uint32_t cpsr = 0x00000000;
- hex_string = reg_converter(hex_string, &cpsr, 4);
+ reg_converter(hex_string, &cpsr, 4);
}
}
return ERROR_OK;
} else
LOG_ERROR("fill task: unable to read memory");
+ free(buffer);
+
return retval;
}
int retval;
if (target_get_gdb_reg_list(head->target, ®_list,
- ®_list_size) != ERROR_OK)
+ ®_list_size) != ERROR_OK) {
+ free(buffer);
return ERROR_TARGET_FAILURE;
+ }
if (!reg_list[13]->valid)
reg_list[13]->type->get(reg_list[13]);
head = head->next;
}
+ free(buffer);
+
return ERROR_OK;
}
(uint8_t *) registers);
if (retval != ERROR_OK) {
+ free(buffer);
LOG_ERROR("cpu_context: unable to read memory\n");
return context;
}
if (*thread_info_addr_old == 0xdeadbeef)
*thread_info_addr_old = thread_info_addr_update;
+ free(buffer);
+
return context;
}
if (retval == ERROR_OK) {
uint32_t val = get_buffer(target, buffer);
val = val - NEXT;
- return val;
free(buffer);
+ return val;
} else
LOG_ERROR("next task: unable to read memory");
+ free(buffer);
+
return 0;
}
struct threads *last = NULL;
t->base_addr = linux_os->init_task_addr;
/* retrieve the thread id , currently running in the different smp core */
- retval = get_current(target, 1);
+ get_current(target, 1);
while (((t->base_addr != linux_os->init_task_addr) &&
(t->base_addr != 0)) || (loop == 0)) {
loop++;
- retval = fill_task(target, t);
+ fill_task(target, t);
retval = get_name(target, t);
if (loop > MAX_THREADS) {
+ free(t);
LOG_INFO("more than %d threads !!", MAX_THREADS);
return ERROR_FAIL;
}
(timeval_ms() - start) / linux_os->threadid_count);
LOG_INFO("threadid count %d", linux_os->threadid_count);
+ free(t);
return ERROR_OK;
}
#ifndef PID_CHECK
error_handling:
free(t);
- LOG_ERROR("unable toread pid");
+ LOG_ERROR("unable to read pid");
return;
#endif
tmp_str_ptr +=
sprintf(tmp_str_ptr, "%d", (int)temp->pid);
tmp_str_ptr += sprintf(tmp_str_ptr, "%s", " | ");
- tmp_str_ptr += sprintf(tmp_str_ptr, "%s", name);
- tmp_str_ptr += sprintf(tmp_str_ptr, "%s", temp->name);
+ sprintf(tmp_str_ptr, "%s", name);
+ sprintf(tmp_str_ptr, "%s", temp->name);
char *hex_str =
(char *)calloc(1, strlen(tmp_str) * 2 + 1);
str_to_hex(hex_str, tmp_str);
if ((strstr(packet, "qSymbol"))) {
if (rtos_qsymbol(connection, packet, packet_size) == 1) {
- gdb_put_packet(connection, "OK", 2);
-
linux_compute_virt2phys(target,
target->rtos->
symbols[INIT_TASK].
}
}
- /* if a packet handler returned an error, exit input loop */
+ /* if a packet handler returned an error, exit input loop */
if (retval != ERROR_OK)
return retval;
}