GString *
을 사용하려고합니다. g_string_free
을 사용하고 포인터는 g_string_sized_new
을 사용하여 할당되었습니다. 그러나 valgrind는 동일한 메모리 누수를줍니다.GString 포인터 메모리 누수
예제 코드 :
Ports * function(bs_t *bs)
{
GString *string = g_string_sized_new(PATH_MAX);
char template[] = "/tmp/grokXXXXXX";
Ports *rc =NULL;
if (condition) {
rc = (Ports *) malloc (sizeof(Ports));
if (rc == NULL) {
g_string_free(string, TRUE);
return NULL;
}
}
if (condition_2) {
if (!port_file(string->str, &rc->ports[0], &rc->port_valid,
NUM_RC_PORTS))
{
g_free(rc);
rc=NULL;
}
}
g_string_free(string, TRUE);
return rc;
}
valgrind 오류 메시지 란 무엇입니까? –