Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/dev/dm



Le 18/08/2014 19:16, Alistair G. Crooks a écrit :
> 
> Module Name:  src
> Committed By: agc
> Date:         Mon Aug 18 17:16:42 UTC 2014
> 
> Modified Files:
>       src/sys/dev/dm: dm_target_stripe.c
> 
> Log Message:
> Avoid a memory leak - from maxv
> 
> 
> To generate a diff of this commit:
> cvs rdiff -u -r1.19 -r1.20 src/sys/dev/dm/dm_target_stripe.c
> 
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.
> 
> 

I have a doubt for this one.

        for (strpi = DM_STRIPE_DEV_OFFSET; strpi < strpc; strpi += 2) {
                printf("Stripe target device name %s -- offset %s\n",
                       argv[strpi], argv[strpi+1]);

                tlc = kmem_alloc(sizeof(*tlc), KM_NOSLEEP);
                if ((tlc->pdev = dm_pdev_insert(argv[strpi])) == NULL) {
                        kmem_free(tsc, sizeof(*tsc));
XXX                     kmem_free(tlc, sizeof(*tlc));
                        return ENOENT;
                }
                tlc->offset = atoi(argv[strpi+1]);

                /* Insert striping device to linked list. */
XXX             TAILQ_INSERT_TAIL(&tsc->stripe_devs, tlc, entries);
        }

The tlc's inserted into the list are not freed, are they?



Home | Main Index | Thread Index | Old Index