On Fri, Oct 02, 2015 at 02:37:18PM +0200, Benjamin Baier wrote:
> Fix memory leak in error path.
> Found by llvm/scan-build.

Thanks, I've just committed this.

> 
> Also port (sc->sc_ports[port]) was not assigned, so "goto freeport;"
> seems wrong.
> 
> Index: ahci.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/ic/ahci.c,v
> retrieving revision 1.22
> diff -u -p -r1.22 ahci.c
> --- ahci.c    27 Aug 2015 18:47:29 -0000      1.22
> +++ ahci.c    26 Sep 2015 09:29:57 -0000
> @@ -460,7 +460,8 @@ ahci_port_alloc(struct ahci_softc *sc, u
>       if (ap->ap_err_scratch == NULL) {
>               printf("%s: unable to allocate DMA scratch buf for port %d\n",
>                   DEVNAME(sc), port);
> -             goto freeport;
> +             free(ap, M_DEVBUF, sizeof(*ap));
> +             goto reterr;
>       }
>  
>  #ifdef AHCI_DEBUG
> 

Reply via email to