version 1.46, 2008/06/10 23:21:34 |
version 1.47, 2010/01/12 01:36:08 |
|
|
} |
} |
|
|
void * |
void * |
buffer_get_string_ptr(Buffer *buffer, u_int *length_ptr) |
buffer_get_string_ptr_ret(Buffer *buffer, u_int *length_ptr) |
{ |
{ |
void *ptr; |
void *ptr; |
u_int len; |
u_int len; |
|
|
len = buffer_get_int(buffer); |
if (buffer_get_int_ret(&len, buffer) != 0) |
if (len > 256 * 1024) |
return NULL; |
fatal("buffer_get_string_ptr: bad string length %u", len); |
if (len > 256 * 1024) { |
|
error("buffer_get_string_ptr: bad string length %u", len); |
|
return NULL; |
|
} |
ptr = buffer_ptr(buffer); |
ptr = buffer_ptr(buffer); |
buffer_consume(buffer, len); |
buffer_consume(buffer, len); |
if (length_ptr) |
if (length_ptr) |
*length_ptr = len; |
*length_ptr = len; |
return (ptr); |
return (ptr); |
|
} |
|
|
|
void * |
|
buffer_get_string_ptr(Buffer *buffer, u_int *length_ptr) |
|
{ |
|
void *ret; |
|
|
|
if ((ret = buffer_get_string_ptr_ret(buffer, length_ptr)) == NULL) |
|
fatal("buffer_get_string_ptr: buffer error"); |
|
return (ret); |
} |
} |
|
|
/* |
/* |