<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 8, 2017 at 1:24 PM Kostya Serebryany <<a href="mailto:kcc@google.com">kcc@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><br>I'm not sure I understand what you mean.<br><br>It seems unfortunate to me to build fixed memory limits into programs - it's nice if they scale up with bigger inputs and more memory on the machine to do more of whatever it is they do - only limited by the memory available on the machine, not some fixed limit in the program.<br><br>If this means making programs robust to allocation failure (failing gracefully rather than 'crashing') for them to be fuzzable - that seems, to me at least, an OK tradeoff.<br></div></div></div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>This is subtle, but let me try again.</div><div>1. IMHO any code that tries to recover from malloc (or new!!) returning nullptr is much more complicated than adding an artificial limit as a flag (by default the flag could be arbitrarily large). <br></div></div></div></div></blockquote><div><br>By 'recover' I'd be OK with "exits with an error code", so not too complex, hopefully.<br><br>I feel like plumbing through flags with bounds into every program/allocation is a bit burdensome/awkward/uncommon. Maybe other folks have other ideas/perspectives & I'm off in the weeds.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>It's also much harder to test. </div><div>2. malloc is not guaranteed to return nullptr even in cases when there is actually not enough memory. It may instead return something backed by swap and this can easily kill your machine. </div></div></div></div></blockquote><div><br>Sure enough - though I'm not sure adding a flag to every program is going to be a real path forward for protecting processes from user input. I'd expect to use OS level protections for memory limits, etc, there. <br><br>- Dave<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div><br></div><div> </div></div></div></div>
</blockquote></div></div>