Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ae8e4672 authored by Arend van Spriel's avatar Arend van Spriel Committed by John W. Linville
Browse files

brcm80211: smac: eliminate a null pointer dereference in dma.c



Though it's unlikely, di may be null, so we can't dereference
di->dma.dmactrlflags until we've checked it.

Move this de-reference after the check, and adjust the error
message to not require de-referencing di.

This is based upon Julia's original patch:
<1319846297-2985-2-git-send-email-julia@diku.dk>

Reported-by: default avatarJulia Lawall <julia@diku.dk>
Acked-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarJulian Calaby <julian.calaby@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 73d51f38
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -358,13 +358,14 @@ static uint nrxdactive(struct dma_info *di, uint h, uint t)


static uint _dma_ctrlflags(struct dma_info *di, uint mask, uint flags)
static uint _dma_ctrlflags(struct dma_info *di, uint mask, uint flags)
{
{
	uint dmactrlflags = di->dma.dmactrlflags;
	uint dmactrlflags;


	if (di == NULL) {
	if (di == NULL) {
		DMA_ERROR(("%s: _dma_ctrlflags: NULL dma handle\n", di->name));
		DMA_ERROR(("_dma_ctrlflags: NULL dma handle\n"));
		return 0;
		return 0;
	}
	}


	dmactrlflags = di->dma.dmactrlflags;
	dmactrlflags &= ~mask;
	dmactrlflags &= ~mask;
	dmactrlflags |= flags;
	dmactrlflags |= flags;