[ 
https://issues.apache.org/jira/browse/HADOOP-9439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13687317#comment-13687317
 ] 

Colin Patrick McCabe commented on HADOOP-9439:
----------------------------------------------

ok, these keyboard shortcuts defeated me again.  I wish I could turn that off.  
Anyway, if you have:

{code}
  goto cleanup:
  struct foo *foo= calloc(1, sizeof(*foo));
  ...
cleanup:
  free(foo);
{code}  

then you're freeing an uninitialized pointer.  Not good.

I also don't like declarations in the middle because of a philosophical reason: 
it tends to lead to excessively long functions, rather than encouraging 
modularity.

As to the extern thing, yeah, I agree.  It's rather odd that the linker does 
that kind of symbol merging, but apparently it does.

I don't see the point of putting all variable declarations on separate lines.  
Java allows declaration of variables on the same line as well.  C++0x allows 
things like vector<> to be initialized with a reasonable syntax, so you are 
finally allowed to admit that this is a good thing, you C++ advocate, you. :)
                
> JniBasedUnixGroupsMapping: fix some crash bugs
> ----------------------------------------------
>
>                 Key: HADOOP-9439
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9439
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: native
>    Affects Versions: 2.0.4-alpha
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>         Attachments: HADOOP-9439.001.patch, HADOOP-9439.003.patch, 
> HADOOP-9439.005.patch, HDFS-4640.002.patch
>
>
> JniBasedUnixGroupsMapping has some issues.
> * sometimes on error paths variables are freed prior to being initialized
> * re-allocate buffers less frequently (can reuse the same buffer for multiple 
> calls to getgrnam)
> * allow non-reentrant functions to be used, to work around client bugs
> * don't throw IOException from JNI functions if the JNI functions do not 
> declare this checked exception.
> * don't bail out if only one group name among all the ones associated with a 
> user can't be looked up.

--
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

Reply via email to