lib/tpm2_marshaling: fix in correct buffer space semantics

marshal_blob() was setting an unsigned size (size_t) to a value
of -1 when an error is determined. This is wrong for the current
implementation of the code because the code assumes the buffer
space gets set to 0. Setting an unsigned value to -1 effectively
tells the library the buffer has unlimited amount of space.

BUG=b:35775104

Change-Id: I677a1fd7528bef3ea7420d0a8d0a290e9b15cea3
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/18678
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins)
This commit is contained in:
Aaron Durbin
2017-03-06 16:33:57 -06:00
parent 3487e118d1
commit 06f12f919f

View File

@@ -100,7 +100,7 @@ static void marshal_blob(void **buffer, void *blob,
size_t blob_size, size_t *buffer_space)
{
if (*buffer_space < blob_size) {
*buffer_space = -1;
*buffer_space = 0;
return;
}