[SSSD] [PATCH] File descriptor leak in nss responder.

Simo Sorce simo at redhat.com
Thu Mar 7 14:22:22 UTC 2013


On Thu, 2013-03-07 at 15:02 +0100, Michal Židek wrote:
> +        /* Closing the file descriptor and ummaping the file
> +         * from memory is done in the mc_ctx_destructor. */
>          if (mc_ctx && mc_ctx->fd != -1) {
> -            close(mc_ctx->fd);
> -            ret = unlink(mc_ctx->file);
> -            if (ret == -1) {
> -                DEBUG(SSSDBG_CRIT_FAILURE, ("Failed to rm mmap file %
> s: %d(%s)\n",
> -                                            mc_ctx->file, ret,
> strerror(ret)));
> +            dret = unlink(mc_ctx->file);
> +            if (dret == -1) {
> +                DEBUG(SSSDBG_CRIT_FAILURE,
> +                      ("Failed to rm mmap file %s: %d(%s)\n",
> mc_ctx->file,
> +                       dret, strerror(dret)));
>              } 

sorry I just also realized this is probably incorrect, you should test
mc_ctx->file not mc_ctx->fd

I also see we have a minor issue in sss_mc_create_file(), we should
probably remove close()/unlink() as well from the error condition in
case sss_br_lock_file() fails, or at the very least set fd = -1 and file
= NULL when close() and unlink() are called respectively.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York




More information about the sssd-devel mailing list