Attached is a simple patch that prevents setrlimit() failing with an error
when the operation would not have changed anything.  This allows all
resource types to be set, so long as the setting is identical to the current
pseudo-settings.

One "problem" with the patch is that it calls getrlimit(), which calls
VirtualQuery() on an internal address that we are sure is ok.  This isn't
incorrect, it's just overkill.  The fix would be to use getrlimit() as a
wrapper to an internal function that avoids the memory test.  But... I'm not
sure why these tests are here at all, they don't seem to occur on other API
functions...  A crash is just as legitimate as an EFAULT? :)

Cheers,

Dave

setrlimit-patch

Reply via email to