in src/buffer.c [260:298]
int BUFFER_pre_build(BUFFER_HANDLE handle, size_t size)
{
int result;
if (handle == NULL)
{
/* Codes_SRS_BUFFER_07_006: [If handle is NULL or size is 0 then BUFFER_pre_build shall return a nonzero value.] */
result = MU_FAILURE;
}
else if (size == 0)
{
/* Codes_SRS_BUFFER_07_006: [If handle is NULL or size is 0 then BUFFER_pre_build shall return a nonzero value.] */
result = MU_FAILURE;
}
else
{
BUFFER* b = handle;
if (b->buffer != NULL)
{
/* Codes_SRS_BUFFER_07_007: [BUFFER_pre_build shall return nonzero if the buffer has been previously allocated and is not NULL.] */
LogError("Failure buffer data is NULL");
result = MU_FAILURE;
}
else
{
if ((b->buffer = malloc(size)) == NULL)
{
/* Codes_SRS_BUFFER_07_013: [BUFFER_pre_build shall return nonzero if any error is encountered.] */
LogError("Failure allocating buffer");
result = MU_FAILURE;
}
else
{
b->size = size;
result = 0;
}
}
}
return result;
}