Merge pull request #2376 from hardening/minimize_diff2

Handle OOM in Stream_New()
This commit is contained in:
Norbert Federa 2015-02-10 14:55:57 +01:00
commit 0c2b145dcd

View File

@ -67,21 +67,28 @@ wStream* Stream_New(BYTE* buffer, size_t size)
s = malloc(sizeof(wStream));
if (s)
if (!s)
return NULL;
if (buffer)
s->buffer = buffer;
else
s->buffer = (BYTE*) malloc(size);
if (!s->buffer)
{
if (buffer)
s->buffer = buffer;
else
s->buffer = (BYTE*) malloc(size);
s->pointer = s->buffer;
s->capacity = size;
s->length = size;
s->pool = NULL;
s->count = 0;
free(s);
return NULL;
}
s->pointer = s->buffer;
s->capacity = size;
s->length = size;
s->pool = NULL;
s->count = 0;
return s;
}