Message ID | 1251375541-1866-6-git-send-email-andy.shevchenko@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
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 --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); - } /*