security.c: buffer_read various fixes.

Tighten the type of the |data| parameter to avoid a cast. Also made
it const as we should not modify it.

Added a DEBUGASSERT on the size to be written while changing it.
This commit is contained in:
Julien Chaffraix 2010-09-10 00:22:40 -07:00 committed by Daniel Stenberg
parent 0006cdddee
commit fbb38de415
1 changed files with 6 additions and 4 deletions

View File

@ -180,11 +180,13 @@ static CURLcode read_data(struct connectdata *conn,
}
static size_t
buffer_read(struct krb4buffer *buf, void *data, size_t len)
buffer_read(struct krb4buffer *buf, const char *data, size_t len)
{
if(buf->size - buf->index < len)
len = buf->size - buf->index;
memcpy(data, (char*)buf->data + buf->index, len);
size_t buf_capacity = buf->size - buf->index;
DEBUGASSERT(buf->size > buf->index);
if(buf_capacity < len)
len = buf_capacity;
memcpy(buf, data, len);
buf->index += len;
return len;
}