Commit de8883e1 authored by Emilia Kasper's avatar Emilia Kasper
Browse files

BUF_strndup: tidy



Fix comment, add another overflow check, tidy style

Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
parent 110f7b37
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ size_t BUF_strnlen(const char *str, size_t maxlen)
char *BUF_strdup(const char *str)
{
    if (str == NULL)
        return (NULL);
        return NULL;
    return BUF_strndup(str, strlen(str));
}

@@ -82,17 +82,17 @@ char *BUF_strndup(const char *str, size_t siz)
    char *ret;

    if (str == NULL)
        return (NULL);
        return NULL;

    siz = BUF_strnlen(str, siz);

    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);
@@ -105,13 +105,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);
}
+2 −2
Original line number Diff line number Diff line
@@ -92,8 +92,8 @@ size_t BUF_strnlen(const char *str, size_t maxlen);
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);