diff mbox

[5/8] dspbridge: Check pointer before dereferencing it

Message ID 1251375541-1866-6-git-send-email-andy.shevchenko@gmail.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Andy Shevchenko Aug. 27, 2009, 12:18 p.m. UTC
From: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>

Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
---
 drivers/dsp/bridge/rmgr/nldr.c |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

Comments

Guzman Lugo, Fernando Aug. 31, 2009, 8:20 p.m. UTC | #1
It looks good.

Acked-by: Fernando Guzman Lugo <x0095840@ti.com>


>-----Original Message-----
>From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
>owner@vger.kernel.org] On Behalf Of Andy Shevchenko
>Sent: Thursday, August 27, 2009 7:19 AM
>To: linux-omap@vger.kernel.org
>Cc: Andy Shevchenko
>Subject: [PATCH 5/8] dspbridge: Check pointer before dereferencing it
>
>From: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
>
>Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
>---
> drivers/dsp/bridge/rmgr/nldr.c |   15 ++++++++++++++-
> 1 files changed, 14 insertions(+), 1 deletions(-)
>
>diff --git a/drivers/dsp/bridge/rmgr/nldr.c
>b/drivers/dsp/bridge/rmgr/nldr.c
>index 79f7505..8c162a1 100644
>--- a/drivers/dsp/bridge/rmgr/nldr.c
>+++ b/drivers/dsp/bridge/rmgr/nldr.c
>@@ -1560,6 +1560,13 @@ static DSP_STATUS LoadOvly(struct NLDR_NODEOBJECT
>*hNldrNode,
> 	}
>
> 	DBC_Assert(i < hNldr->nOvlyNodes);
>+
>+	if (!pONode) {
>+		/* Should we print warning here? */
>+		status = DSP_ENOTFOUND;
>+		goto func_end;
>+	}
>+
> 	switch (phase) {
> 	case NLDR_CREATE:
> 		pRefCount = &(pONode->createRef);
>@@ -1877,6 +1884,13 @@ static void UnloadOvly(struct NLDR_NODEOBJECT
>*hNldrNode, enum NLDR_PHASE phase)
> 	}
>
> 	DBC_Assert(i < hNldr->nOvlyNodes);
>+
>+	if (!pONode) {
>+		/* Should we print warning here? */
>+		status = DSP_ENOTFOUND;
>+		goto func_end;
>+	}
>+
> 	switch (phase) {
> 	case NLDR_CREATE:
> 		pRefCount = &(pONode->createRef);
>@@ -1917,7 +1931,6 @@ static void UnloadOvly(struct NLDR_NODEOBJECT
>*hNldrNode, enum NLDR_PHASE phase)
> 	}
> 	if (pOtherRef && *pOtherRef == 0)
> 		FreeSects(hNldr, pOtherSects, nOtherAlloc);
>-
> }
>
> /*
>--
>1.5.6.5
>
>--
>To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/dsp/bridge/rmgr/nldr.c b/drivers/dsp/bridge/rmgr/nldr.c
index 79f7505..8c162a1 100644
--- a/drivers/dsp/bridge/rmgr/nldr.c
+++ b/drivers/dsp/bridge/rmgr/nldr.c
@@ -1560,6 +1560,13 @@  static DSP_STATUS LoadOvly(struct NLDR_NODEOBJECT *hNldrNode,
 	}
 
 	DBC_Assert(i < hNldr->nOvlyNodes);
+
+	if (!pONode) {
+		/* Should we print warning here? */
+		status = DSP_ENOTFOUND;
+		goto func_end;
+	}
+
 	switch (phase) {
 	case NLDR_CREATE:
 		pRefCount = &(pONode->createRef);
@@ -1877,6 +1884,13 @@  static void UnloadOvly(struct NLDR_NODEOBJECT *hNldrNode, enum NLDR_PHASE phase)
 	}
 
 	DBC_Assert(i < hNldr->nOvlyNodes);
+
+	if (!pONode) {
+		/* Should we print warning here? */
+		status = DSP_ENOTFOUND;
+		goto func_end;
+	}
+
 	switch (phase) {
 	case NLDR_CREATE:
 		pRefCount = &(pONode->createRef);
@@ -1917,7 +1931,6 @@  static void UnloadOvly(struct NLDR_NODEOBJECT *hNldrNode, enum NLDR_PHASE phase)
 	}
 	if (pOtherRef && *pOtherRef == 0)
 		FreeSects(hNldr, pOtherSects, nOtherAlloc);
-
 }
 
 /*