Hi Thomas,

> +int test_rlimit(void)
> +{
> +     struct rlimit rlim = {
> +             .rlim_cur = 1 << 20,
> +             .rlim_max = 1 << 20,
> +     };
> +     int ret;
> +
> +     ret = setrlimit(RLIMIT_CORE, &rlim);
> +     if (ret)
> +             return -1;
> +
> +     rlim.rlim_cur = 0;
> +     rlim.rlim_max = 0;
> +
> +     ret = getrlimit(RLIMIT_CORE, &rlim);
> +     if (ret)
> +             return -1;
> +
> +     if (rlim.rlim_cur != 1 << 20)
> +             return -1;
> +     if (rlim.rlim_max != 1 << 20)
> +             return -1;

I think you should used two different values here for cur and max so
that you can also detect stupid API bugs such as a union being used
instead of a struct, or copy-pastes in the implementation etc. For
example using 1<<20 and 1<<21 should do the trick.

Otherwise Ack-by me for the whole series, of course.

Thanks,
Willy

Reply via email to