[tpm] sys call length limitation

Viktor Pavlenko vvp at cogeco.ca
Wed Jan 22 11:04:32 PST 2014


>>>>> "AS" == Antonio Sun <tpm.ats at spamgourmet.com> writes:

    AS> Found out that the limitation is actually how much characters
    AS> one can stuff in between ``:

    AS>   $ echo "`cat HttpBody`" | wc -c
    AS>   238566

    AS>   $ cat HttpBody | perl -e '$s = <>; print length $s; print `echo $s`'
    AS>   238566

    AS> I.e., the echo works fine in my shell, but not ok under Perl. 

`string` (or system('string')) call in perl exec-s a shell process
passing the 'string' as argument. There is a limit on how long an
argument to exec can be, to see your current limit type:

$ getconf ARG_MAX
131072

$ grep ARG_MAX /usr/include/linux/limits.h
#define ARG_MAX       131072    /* # bytes of args + environ for exec() */

    AS> Any way to increase the sys call length limitation, ie the
    AS> limitation how much characters one can stuff in between ``? 

Change limits.h in your kernel source and recompile the kernel.

HTH

-- 
Viktor


More information about the toronto-pm mailing list