[ https://issues.apache.org/jira/browse/HADOOP-9635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13680522#comment-13680522 ]
Colin Patrick McCabe commented on HADOOP-9635: ---------------------------------------------- +1. Thanks, V. Karthik. > Potential Stack Overflow in DomainSocket.c > ------------------------------------------ > > Key: HADOOP-9635 > URL: https://issues.apache.org/jira/browse/HADOOP-9635 > Project: Hadoop Common > Issue Type: Bug > Components: native > Affects Versions: 2.3.0 > Environment: OSX 10.8 > Reporter: V. Karthik Kumar > Labels: patch, security > Fix For: 2.3.0 > > Attachments: > 0001-HADOOP-9635-Fix-Potential-Stack-Overflow-in-DomainSo.patch > > > When I was running on OSX, the DataNode was segfaulting. On investigation, it > was tracked down to this code. A potential stack overflow was also > identified. > {code} > utfLength = (*env)->GetStringUTFLength(env, jstr); > if (utfLength > sizeof(path)) { > jthr = newIOException(env, "path is too long! We expected a path " > "no longer than %zd UTF-8 bytes.", sizeof(path)); > goto done; > } > // GetStringUTFRegion does not pad with NUL > (*env)->GetStringUTFRegion(env, jstr, 0, utfLength, path); > ... > //strtok_r can set rest pointer to NULL when no tokens found. > //Causes JVM to crash in rest[0] > for (check[0] = '/', check[1] = '\0', rest = path, token = ""; > token && rest[0]; > token = strtok_r(rest, "/", &rest)) { > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira