<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><style>body { line-height: 1.5; }blockquote { margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em; }body { font-size: 10.5pt; font-family: 微软雅黑; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body>
<div><span></span>Yes ,we can. And your suggestion remind me, I'll check the other strcat .</div><div><br></div>
<div><br></div><blockquote style="margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em;"><div><div>On 2015年02月28日 16:44, Yu Yang wrote:</div>
<div>> char root[MAX_NODE_STR_LEN];</div>
<div>> +       char conn[MAX_NODE_STR_LEN];</div>
<div>> +       const char *p = strchr(hosts, '/');</div>
<div>> +       int interval, max_retry, retry;</div>
<div>> +       int i = 0;</div>
<div>> +       strcpy(root, p);</div>
<div>> +       while (hosts != p)</div>
<div>> +               conn[i++] = *hosts++;</div>
<div>> +       conn[i] = '\0';</div>
<div> </div>
<div>Can we add bounds check here ? I hate to see silently buffer overflow,  even</div>
<div>in real world, it might not be a problem. If user can input more than </div>
<div>256 characters,</div>
<div>strdup and strndup will work, returning NULL and crashing when accessing </div>
<div>the first page</div>
<div>is still better than silently buffer overflow .</div>
<div> </div>
<div>Regards,</div>
</div></blockquote>
</body></html>