<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Apr 13, 2017 at 5:10 AM, Dmitry V. Levin <span dir="ltr"><<a href="mailto:ldv@altlinux.org" target="_blank">ldv@altlinux.org</a>></span> wrote:</div><div class="gmail_quote"><div class="gmail_quote">>On Wed, Apr 12, 2017 at 09:31:51PM +0800, JingPiao Chen wrote:</div><div class="gmail_quote">>> @@ -198,6 +199,48 @@ qualify_syscall_number(const char *s, struct number_set *set)</div><div class="gmail_quote">>>  <span class="m_-8327474186988797550gmail-Apple-tab-span" style="white-space:pre-wrap">    </span>return done;</div><div class="gmail_quote">>>  }</div><div class="gmail_quote">>>  </div><div class="gmail_quote">>> +static bool</div><div class="gmail_quote">>> +qualify_syscall_regex(const char *s, struct number_set *set)</div><div class="gmail_quote">>> +{</div><div class="gmail_quote">>> +<span class="m_-8327474186988797550gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>regex_t preg;</div><div class="gmail_quote">>> +<span class="m_-8327474186988797550gmail-Apple-tab-span" style="white-space:pre-wrap">       </span>int rc;</div><div class="gmail_quote">>> +</div><div class="gmail_quote">>> +<span class="m_-8327474186988797550gmail-Apple-tab-span" style="white-space:pre-wrap">      </span>if ((rc = regcomp(&preg, s, REG_EXTENDED | REG_NOSUB)) != 0) {</div><div class="gmail_quote">>> +<span class="m_-8327474186988797550gmail-Apple-tab-span" style="white-space:pre-wrap">          </span>size_t len = regerror(rc, &preg, NULL, 0);</div><div class="gmail_quote">>> +<span class="m_-8327474186988797550gmail-Apple-tab-span" style="white-space:pre-wrap">              </span>char buf[len];</div><div class="gmail_quote">></div><div class="gmail_quote">>We don't use VLA on the stack, it is not portable.  In particular,</div><div class="gmail_quote">>it won't pass travis-ci clang tests.  If you've pushed it to github</div><div class="gmail_quote">>and enabled travis-ci, you'd have noticed.</div><div class="gmail_quote"><br></div><div class="gmail_quote">Ok, I replace it with alloca. But it pass travis-ci clang tests [1],</div><div class="gmail_quote">and strace have similar code in socketutils.c:152.</div><div class="gmail_quote"><br></div><div class="gmail_quote">></div><div class="gmail_quote">>Why do you need it here?</div><div class="gmail_quote"><br></div><div class="gmail_quote">The length of buffer is unknown, len return by first regerror call.</div><div class="gmail_quote"><br></div><div class="gmail_quote">[1]<a href="https://travis-ci.org/ppiao/strace/builds/22134567" target="_blank">https://travis-ci.org/<wbr>ppiao/strace/builds/22134567</a></div><div class="gmail_quote"><br></div><div class="gmail_quote">JingPiao Chen</div></div><br></div></div>