]> Sergey Matveev's repositories - public-inbox.git/commitdiff
HACKING: add a note about avoiding recursion
authorEric Wong <e@80x24.org>
Thu, 24 Oct 2019 21:09:42 +0000 (21:09 +0000)
committerEric Wong <e@80x24.org>
Wed, 30 Oct 2019 08:47:16 +0000 (08:47 +0000)
Bad things happen when user data can control our stack size.

HACKING

diff --git a/HACKING b/HACKING
index 666d504e7336b61ef7d26f559e5b192c56fbd9de..859745ef3151c642c22623b6ce31327f3f563e67 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -43,6 +43,11 @@ distribute and verify.  public-inbox itself will only be implemented
 in scripting languages (currently Perl 5) and optional JIT-compiled C
 (via Inline::C)
 
+Do not recurse on user-supplied data.  Neither Perl or C handle
+deep recursion gracefully.  See lib/PublicInbox/SearchThread.pm
+and lib/PublicInbox/MsgIter.pm for examples of non-recursive
+alternatives to previously-recursive algorithms.
+
 Performance should be reasonably good for server administrators, too,
 and we will sacrifice features to achieve predictable performance.
 Encouraging folks to self-host will be easier with lower hardware