@dalias @marcan It's pretty clear the buggy caller intended to pass 0, so i think the fix should at least honor that intention. This is a very common bug for people used to C++ zeroing out optional args.
I still think the correct fix is to assume any number above ulimit should be ignored because it doesn't work anyway, so any legitimate code would have never worked.