You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Colin Patrick McCabe (JIRA)" <ji...@apache.org> on 2012/10/31 23:51:12 UTC

[jira] [Created] (HDFS-4132) when libwebhdfs is not enabled, nativeMiniDfsClient frees uninitialized memory

Colin Patrick McCabe created HDFS-4132:
------------------------------------------

             Summary: when libwebhdfs is not enabled, nativeMiniDfsClient frees uninitialized memory 
                 Key: HDFS-4132
                 URL: https://issues.apache.org/jira/browse/HDFS-4132
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: libhdfs
    Affects Versions: 2.0.3-alpha
            Reporter: Colin Patrick McCabe
            Assignee: Colin Patrick McCabe


When libwebhdfs is not enabled, nativeMiniDfsClient frees uninitialized memory.

Details: jconfStr is declared uninitialized...
{code}
struct NativeMiniDfsCluster* nmdCreate(struct NativeMiniDfsConf *conf)
{
    struct NativeMiniDfsCluster* cl = NULL;
    jobject bld = NULL, bld2 = NULL, cobj = NULL;
    jvalue  val;
    JNIEnv *env = getJNIEnv();
    jthrowable jthr;
    jstring jconfStr;
{code}

and only initialized later if conf->webhdfsEnabled:
{code}
    ...
    if (conf->webhdfsEnabled) {
        jthr = newJavaStr(env, DFS_WEBHDFS_ENABLED_KEY, &jconfStr);
        if (jthr) {
            printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
    ...
{code}

Then we try to free this uninitialized memory at the end, usually resulting in a crash.
{code}
    (*env)->DeleteLocalRef(env, jconfStr);
    return cl;
{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