I'm running
pdftoppm
to convert a user-provided PDF into a 300DPI image. This works great, except if the user provides an PDF with a very large page size. pdftoppm
will allocate enough memory to hold a 300DPI image of that size in memory, which for a 100 inch square page is 100*300 * 100*300 * 4 bytes per pixel = 3.5GB. A malicious user could just give me a silly-large PDF and cause all kinds of problems.
So what I'd like to do is put some kind of hard limit on memory usage for a child process I'm about to run--just have the process die if it tries to allocate more than, say, 500MB of memory. Is that possible?
I don't think ulimit can be used for this, but is there a one-process equivalent?
Asked by Ben Dilts
(2723 rep)
Feb 13, 2011, 08:00 AM
Last activity: Jan 28, 2025, 07:11 AM
Last activity: Jan 28, 2025, 07:11 AM