*** mtmemu-0.1-orig/utils/tpm_rimcert_create.c 2007-12-11 18:28:38.000000000 +0200 --- mtmemu-0.1/utils/tpm_rimcert_create.c 2009-01-15 23:39:35.000000000 +0200 *************** *** 288,294 **** bufptr = linebuffer; for (i = 0; i < 20; i++) { sscanf(bufptr, "%2x", &val); ! pcrvals[size].digest[i] = (BYTE)val; bufptr += 2; } phase--; --- 288,295 ---- bufptr = linebuffer; for (i = 0; i < 20; i++) { sscanf(bufptr, "%2x", &val); ! int pcrnum = pcrnums[size]; ! pcrvals[pcrnum].digest[i] = (BYTE)val; bufptr += 2; } phase--; *************** *** 316,323 **** int position = pcrnums[i] % 8; state->pcrSelection.pcrSelect[index] |= (1 << position); } ! ! if (tpm_compute_pcr_digest(&(state->pcrSelection), &(state->digestAtRelease), NULL) == TPM_SUCCESS) { return TRUE; } else { return FALSE; --- 317,323 ---- int position = pcrnums[i] % 8; state->pcrSelection.pcrSelect[index] |= (1 << position); } ! if (tpm_compute_digest(&(state->pcrSelection), &(state->digestAtRelease), NULL, &pcrvals) == TPM_SUCCESS) { return TRUE; } else { return FALSE;