Re: [PATCH] nfs-utils: fix endptr check in closeall (try #4)

Steve Dickson
2009-06-22T16:06:05Z

Jeff Layton wrote:
> The closeall function is broken in such a way that it almost never
> closes any file descriptors. It's calling strtol on the text
> representation of the file descriptor, and then checking to see if the
> value of *endptr is not '\0' before trying to close the file. This check
> is wrong.
>
> When strtol returns an endptr that points to a NULL byte, that indicates
> that the conversion was completely successful. I believe this check
> should instead be requiring that endptr is pointing to '\0' before
> closing the fd.
>
> Also, fix up the function to check for conversion errors from strtol. If
> one occurs, just skip the close on that entry.
>
> Finally, as Trond pointed out, it's unlikely that readdir will return a
> blank string in d_name but that situation wouldn't be detected by the
> current code. This patch adds such a check and skips the close if it
> occurs.
>
> Reported-by: Chuck Lever <chuck.lever@oracle.com>
> Signed-off-by: Jeff Layton <jlayton@redhat.com>
> ---
Committed....

steved.