Excuse my curiosity but I have a small question about jk_lsh.c (ver 2.10). Lines 323-336 form a block statement in which 2 local vars (retval, logstring) are declared, execve() is called, and then retval is returned to the calling/invoking process. After the block is a 'return 0;' statement that is unreachable (because the block ends with an unconditional return). Is the block statement doing something more than just providing a namespace for the 2 variables? I assume the 'return 0' is there to suppress a compiler warning (for compilers that may not understand the 'return' in the block)?
Thank you for creating jailkit and for edifying me on this point of implementation.