BUF_strndup: tidy
Fix comment, add another overflow check, tidy style Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commitde8883e11b
) (cherry picked from commitf5afe9ce3f
)
This commit is contained in:
parent
6905187488
commit
e56c77b8ee
@ -64,7 +64,7 @@
|
||||
char *BUF_strdup(const char *str)
|
||||
{
|
||||
if (str == NULL)
|
||||
return (NULL);
|
||||
return NULL;
|
||||
return BUF_strndup(str, strlen(str));
|
||||
}
|
||||
|
||||
@ -73,15 +73,15 @@ char *BUF_strndup(const char *str, size_t siz)
|
||||
char *ret;
|
||||
|
||||
if (str == NULL)
|
||||
return (NULL);
|
||||
return NULL;
|
||||
|
||||
if (siz >= INT_MAX)
|
||||
return (NULL);
|
||||
return NULL;
|
||||
|
||||
ret = OPENSSL_malloc(siz + 1);
|
||||
if (ret == NULL) {
|
||||
BUFerr(BUF_F_BUF_STRNDUP, ERR_R_MALLOC_FAILURE);
|
||||
return (NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
memcpy(ret, str, siz);
|
||||
@ -94,13 +94,13 @@ void *BUF_memdup(const void *data, size_t siz)
|
||||
{
|
||||
void *ret;
|
||||
|
||||
if (data == NULL)
|
||||
return (NULL);
|
||||
if (data == NULL || siz >= INT_MAX)
|
||||
return NULL;
|
||||
|
||||
ret = OPENSSL_malloc(siz);
|
||||
if (ret == NULL) {
|
||||
BUFerr(BUF_F_BUF_MEMDUP, ERR_R_MALLOC_FAILURE);
|
||||
return (NULL);
|
||||
return NULL;
|
||||
}
|
||||
return memcpy(ret, data, siz);
|
||||
}
|
||||
|
@ -87,8 +87,8 @@ int BUF_MEM_grow_clean(BUF_MEM *str, size_t len);
|
||||
char *BUF_strdup(const char *str);
|
||||
|
||||
/*
|
||||
* Returns a pointer to a new string which is a duplicate of the string |str|,
|
||||
* but guarantees to never read past the first |siz| bytes of |str|.
|
||||
* Like strndup, but in addition, explicitly guarantees to never read past the
|
||||
* first |siz| bytes of |str|.
|
||||
*/
|
||||
char *BUF_strndup(const char *str, size_t siz);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user