Simplified _libssh2_check_length (#350)
* Simplified _libssh2_check_length misc.c : _libssh2_check_length() Removed cast and improved bounds checking and format. Credit : Yuriy M. Kaminskiy
Этот коммит содержится в:
родитель
c07bc647f2
Коммит
ff1b155731
@ -811,10 +811,9 @@ int _libssh2_get_bignum_bytes(struct string_buf *buf, unsigned char **outbuf)
|
||||
|
||||
int _libssh2_check_length(struct string_buf *buf, size_t len)
|
||||
{
|
||||
if(len > buf->len)
|
||||
return 0;
|
||||
|
||||
return ((int)(buf->dataptr - buf->data) <= (int)(buf->len - len)) ? 1 : 0;
|
||||
unsigned char *endp = &buf->data[buf->len];
|
||||
size_t left = endp - buf->dataptr;
|
||||
return ((len <= left) && (left <= buf->len));
|
||||
}
|
||||
|
||||
/* Wrappers */
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user