Дистанционное программирование TPM с «неверным указателем» - PullRequest
0 голосов
/ 18 мая 2019

Я новичок в программировании TPM. Из-за закона я должен использовать программное обеспечение IBM TPM. Я надеюсь, что смогу предоставить функцию компьютера A компьютеру B. Когда я хочу подключить компьютеры между TSS, TSS на компьютере A будет отключен с tcsd free() invalid pointer.

Я уверен, что никогда не использовал free() в своем программировании. Так что я подозревал, что с TSS что-то не так.

result = Tspi_Context_Create(&hContext);
if (result != TSS_SUCCESS) {
    print_error("Tspi_Context_Create ", result);
    print_error_exit(nameOfFunction, err_string(result));
    exit(result);
}
    //Connect Context
result = Tspi_Context_Connect(hContext,NULL);
if (result != TSS_SUCCESS) {
    print_error("Tspi_Context_Connect", result);
    print_error_exit(nameOfFunction, err_string(result));
    Tspi_Context_FreeMemory(hContext, NULL);  
    Tspi_Context_Close(hContext);
    exit(result);
}

        /* Create TPM NV object */
result = Tspi_Context_CreateObject(hContext, TSS_OBJECT_TYPE_NV, 0,&hNVStore);
if (result != TSS_SUCCESS)
{
    print_error("Tspi_Context_CreateObject", result);
    print_error_exit(nameOfFunction, err_string(result));
    Tspi_Context_FreeMemory(hContext, NULL);
    Tspi_Context_Close(hContext);
    exit(result);
}
...