int av_reallocp_array(void *ptr, size_t nmemb, size_t size)

{

    void **ptrptr = ptr;

    void *ret;

    if (size <= 0 || nmemb >= INT_MAX / size)

        return AVERROR(ENOMEM);

    if (nmemb <= 0) {

        av_freep(ptr);

        return 0;

    }

    ret = av_realloc(*ptrptr, nmemb * size);

    if (!ret) {

        av_freep(ptr);

        return AVERROR(ENOMEM);

    }

    *ptrptr = ret;

    return 0;

}

int av_reallocp_array(void *ptr, size_t nmemb, size_t size)

{

    void **ptrptr = ptr;

    void *ret;

    if (size <= 0 || nmemb >= INT_MAX / size)

        return AVERROR(ENOMEM);

    if (nmemb <= 0) {

        av_freep(ptr);

        return 0;

    }

    ret = av_realloc(*ptrptr, nmemb * size);

    if (!ret) {

        av_freep(ptr);

        return AVERROR(ENOMEM);

    }

    *ptrptr = ret;

    return 0;

}

int FUNC_0(void *VAR_0, size_t VAR_1, size_t VAR_2)

{

    void **VAR_3 = VAR_0;

    void *VAR_4;

    if (VAR_2 <= 0 || VAR_1 >= INT_MAX / VAR_2)

        return AVERROR(ENOMEM);

    if (VAR_1 <= 0) {

        av_freep(VAR_0);

        return 0;

    }

    VAR_4 = av_realloc(*VAR_3, VAR_1 * VAR_2);

    if (!VAR_4) {

        av_freep(VAR_0);

        return AVERROR(ENOMEM);

    }

    *VAR_3 = VAR_4;

    return 0;

}

int FUNC_0(void *VAR_0, size_t VAR_1, size_t VAR_2)
{ void **VAR_3 = VAR_0; void *VAR_4; if (VAR_2 <= 0 || VAR_1 >= INT_MAX / VAR_2)
return AVERROR(ENOMEM); if (VAR_1 <= 0) { av_freep(VAR_0); return 0; } VAR_4 = av_realloc(*VAR_3, VAR_1 * VAR_2); if (!VAR_4) { av_freep(VAR_0); return AVERROR(ENOMEM); } *VAR_3 = VAR_4; return 0; }