[ 
https://issues.apache.org/jira/browse/HADOOP-11453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yongjun Zhang resolved HADOOP-11453.
------------------------------------
    Resolution: Invalid

> Invalid mapping can be inserted to nfs's id-name map
> ----------------------------------------------------
>
>                 Key: HADOOP-11453
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11453
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: nfs
>            Reporter: Yongjun Zhang
>            Assignee: Yongjun Zhang
>
> See pasted code below from {{ShellBasedIdMapping#updateMapInternal}}, LineA 
> could return null value when the entry is not in the static mapping. Since 
> {{map}} allows null key, so it's possible that lineB would add entry <null, 
> value> to the {{map}}. This is not the desired behavior.
> {code}
>         final Integer key = staticMapping.get(parseId(nameId[1])); <====lineA
>         final String value = nameId[0];
>         if (map.containsKey(key)) {
>           final String prevValue = map.get(key);
>           if (value.equals(prevValue)) {
>             // silently ignore equivalent entries
>             continue;
>           }
>           reportDuplicateEntry(
>               "Got multiple names associated with the same id: ",
>               key, value, key, prevValue);           
>           continue;
>         }
>         if (map.containsValue(value)) {
>           final Integer prevKey = map.inverse().get(value);
>           reportDuplicateEntry(
>               "Got multiple ids associated with the same name: ",
>               key, value, prevKey, value);
>           continue;
>         }
>         map.put(key, value);  <==== lineB
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to