author | erik <erik> | 2007-01-24 19:54:07 (UTC) |
---|---|---|
committer | erik <erik> | 2007-01-24 19:54:07 (UTC) |
commit | 89e81059e832ff77c2f0ac8b9db12f80eafa03fc (patch) (side-by-side diff) | |
tree | 99a130fc643d2aeefdecab452f644e7b61a5f50e /noncore | |
parent | 035bbc5bf689839c8d8e7be37f347b0dd900fccf (diff) | |
download | opie-89e81059e832ff77c2f0ac8b9db12f80eafa03fc.zip opie-89e81059e832ff77c2f0ac8b9db12f80eafa03fc.tar.gz opie-89e81059e832ff77c2f0ac8b9db12f80eafa03fc.tar.bz2 |
Each file in this commit has an instance where a pointer is checked at
one point in the code and then not checked in another point in the code.
If it needed to be checked once, it needs to be checked the other time. If not
the application could segfault.
-rw-r--r-- | noncore/applets/pcmcia/pcmcia.cpp | 6 | ||||
-rw-r--r-- | noncore/apps/checkbook/mainwindow.cpp | 7 | ||||
-rw-r--r-- | noncore/apps/opie-console/procctl.cpp | 5 | ||||
-rw-r--r-- | noncore/apps/tinykate/libkate/document/katedocument.cpp | 123 | ||||
-rw-r--r-- | noncore/settings/sysinfo/devicesinfo.cpp | 2 | ||||
-rw-r--r-- | noncore/todayplugins/stockticker/libstocks/http.c | 2 |
6 files changed, 77 insertions, 68 deletions
diff --git a/noncore/applets/pcmcia/pcmcia.cpp b/noncore/applets/pcmcia/pcmcia.cpp index 187adc6..c639002 100644 --- a/noncore/applets/pcmcia/pcmcia.cpp +++ b/noncore/applets/pcmcia/pcmcia.cpp @@ -236,6 +236,12 @@ void PcmciaManager::cardMessage( const QCString & msg, const QByteArray & ) if ( !newCard ) ++it; else break; } } + + if ( !theCard ) { + owarn << "pcmcia: Finished working through cards in PCMCIA system but I do not have a valid card handle" << oendl; + return; + } + if ( newCard ) { odebug << "pcmcia: unconfigured card detected" << oendl; diff --git a/noncore/apps/checkbook/mainwindow.cpp b/noncore/apps/checkbook/mainwindow.cpp index d9e2047..8e2e2e3 100644 --- a/noncore/apps/checkbook/mainwindow.cpp +++ b/noncore/apps/checkbook/mainwindow.cpp @@ -243,6 +243,7 @@ void MainWindow::slotEdit() // --- openBook --------------------------------------------------------------- void MainWindow::openBook(QListViewItem *curritem) { + if ( !curritem ) return; // find book in List QString currname=curritem->text(posName); CBInfo *cb = checkbooks->first(); @@ -277,10 +278,8 @@ void MainWindow::openBook(QListViewItem *curritem) if ( currname != newname ) { // Update name if changed - if( curritem ) { - curritem->setText( posName, newname ); - cbList->sort(); - } + curritem->setText( posName, newname ); + cbList->sort(); _cfg.setLastBook( newname ); // Remove old file diff --git a/noncore/apps/opie-console/procctl.cpp b/noncore/apps/opie-console/procctl.cpp index a44529b..5239e26 100644 --- a/noncore/apps/opie-console/procctl.cpp +++ b/noncore/apps/opie-console/procctl.cpp @@ -49,7 +49,10 @@ void ProcCtl::remove( pid_t pi ) { while (con ) { /* remove it */ if ( pi == con->pid ) { - forw->prev = con->prev; + if (forw) + forw->prev = con->prev; + else + forw = con->prev; delete con; return; } diff --git a/noncore/apps/tinykate/libkate/document/katedocument.cpp b/noncore/apps/tinykate/libkate/document/katedocument.cpp index b82a86a..692fd46 100644 --- a/noncore/apps/tinykate/libkate/document/katedocument.cpp +++ b/noncore/apps/tinykate/libkate/document/katedocument.cpp @@ -2015,7 +2015,7 @@ void KateDocument::paintTextLine(QPainter &paint, int line, int y, int xStart, i const QChar *s; int z, x; QChar ch; - Attribute *a = 0L; + Attribute *attrptr = 0L; int attr, nextAttr; int xs; int xc, zc; @@ -2040,16 +2040,16 @@ void KateDocument::paintTextLine(QPainter &paint, int line, int y, int xStart, i if (ch == '\t') { x += m_tabWidth - (x % m_tabWidth); } else { - a = &m_attribs[textLine->getAttr(z)]; - - if (a->bold && a->italic) - x += myFontMetricsBI.width(ch); - else if (a->bold) - x += myFontMetricsBold.width(ch); - else if (a->italic) - x += myFontMetricsItalic.width(ch); - else - x += myFontMetrics.width(ch); + attrptr = &m_attribs[textLine->getAttr(z)]; + + if (attrptr->bold && attrptr->italic) + x += myFontMetricsBI.width(ch); + else if (attrptr->bold) + x += myFontMetricsBold.width(ch); + else if (attrptr->italic) + x += myFontMetricsItalic.width(ch); + else + x += myFontMetrics.width(ch); } z++; } while (x <= xStart); @@ -2079,13 +2079,13 @@ void KateDocument::paintTextLine(QPainter &paint, int line, int y, int xStart, i x += m_tabWidth - (x % m_tabWidth); else { - a = &m_attribs[textLine->getAttr(z)]; + attrptr = &m_attribs[textLine->getAttr(z)]; - if (a->bold && a->italic) + if (attrptr->bold && attrptr->italic) x += myFontMetricsBI.width(ch); - else if (a->bold) + else if (attrptr->bold) x += myFontMetricsBold.width(ch); - else if (a->italic) + else if (attrptr->italic) x += myFontMetricsItalic.width(ch); else x += myFontMetrics.width(ch); @@ -2114,14 +2114,14 @@ void KateDocument::paintTextLine(QPainter &paint, int line, int y, int xStart, i QString s = str.string(); paint.drawText(x - xStart, y, s); - if (a->bold && a->italic) - x += myFontMetricsBI.width(s); - else if (a->bold) - x += myFontMetricsBold.width(s); - else if (a->italic) - x += myFontMetricsItalic.width(s); - else - x += myFontMetrics.width(s); + if (attrptr && attrptr->bold && attrptr->italic) + x += myFontMetricsBI.width(s); + else if (attrptr && attrptr->bold) + x += myFontMetricsBold.width(s); + else if (attrptr && attrptr->italic) + x += myFontMetricsItalic.width(s); + else + x += myFontMetrics.width(s); } zc = z +1; @@ -2129,23 +2129,21 @@ void KateDocument::paintTextLine(QPainter &paint, int line, int y, int xStart, i nextAttr = textLine->getRawAttr(z); if (nextAttr != attr) { attr = nextAttr; - a = &m_attribs[attr & taAttrMask]; - - if (attr & taSelected) paint.setPen(a->selCol); - else paint.setPen(a->col); - - if (a->bold && a->italic) - paint.setFont(myFontBI); - else if (a->bold) - paint.setFont(myFontBold); - else if (a->italic) - paint.setFont(myFontItalic); - else - paint.setFont(myFont); + attrptr = &m_attribs[attr & taAttrMask]; + + if (attr & taSelected) paint.setPen(attrptr->selCol); + else paint.setPen(attrptr->col); + + if (attrptr->bold && attrptr->italic) + paint.setFont(myFontBI); + else if (attrptr->bold) + paint.setFont(myFontBold); + else if (attrptr->italic) + paint.setFont(myFontItalic); + else + paint.setFont(myFont); } -// paint.drawLine(x - xStart, y -2, x - xStart, y); -// paint.drawLine(x - xStart, y, x - xStart + 2, y); paint.drawPoint(x - xStart, y); paint.drawPoint(x - xStart +1, y); paint.drawPoint(x - xStart, y -1); @@ -2159,30 +2157,30 @@ void KateDocument::paintTextLine(QPainter &paint, int line, int y, int xStart, i QString s = str.string(); paint.drawText(x - xStart, y, s); - if (a->bold && a->italic) - x += myFontMetricsBI.width(s); - else if (a->bold) - x += myFontMetricsBold.width(s); - else if (a->italic) - x += myFontMetricsItalic.width(s); - else - x += myFontMetrics.width(s); + if (attrptr->bold && attrptr->italic) + x += myFontMetricsBI.width(s); + else if (attrptr->bold) + x += myFontMetricsBold.width(s); + else if (attrptr->italic) + x += myFontMetricsItalic.width(s); + else + x += myFontMetrics.width(s); zc = z; } attr = nextAttr; - a = &m_attribs[attr & taAttrMask]; - - if (attr & taSelected) paint.setPen(a->selCol); - else paint.setPen(a->col); - - if (a->bold && a->italic) - paint.setFont(myFontBI); - else if (a->bold) - paint.setFont(myFontBold); - else if (a->italic) - paint.setFont(myFontItalic); - else - paint.setFont(myFont); + attrptr = &m_attribs[attr & taAttrMask]; + + if (attr & taSelected) paint.setPen(attrptr->selCol); + else paint.setPen(attrptr->col); + + if (attrptr->bold && attrptr->italic) + paint.setFont(myFontBI); + else if (attrptr->bold) + paint.setFont(myFontBold); + else if (attrptr->italic) + paint.setFont(myFontItalic); + else + paint.setFont(myFont); } } z++; @@ -2227,7 +2225,9 @@ bool KateDocument::doSearch(SConfig &sc, const QString &searchFor) { delete [] t; bufLen = (tlen + 255) & (~255); t = new QChar[bufLen]; - } + } else if (!t) + t = new QChar[bufLen]; + memcpy(t, textLine->getText(), tlen*sizeof(QChar)); if (sc.flags & KateView::sfSelected) { pos = 0; @@ -2288,7 +2288,8 @@ bool KateDocument::doSearch(SConfig &sc, const QString &searchFor) { delete [] t; bufLen = (tlen + 255) & (~255); t = new QChar[bufLen]; - } + } else if (!t) + t = new QChar[bufLen]; memcpy(t, textLine->getText(), tlen*sizeof(QChar)); if (sc.flags & KateView::sfSelected) { pos = 0; diff --git a/noncore/settings/sysinfo/devicesinfo.cpp b/noncore/settings/sysinfo/devicesinfo.cpp index 164d608..428cfd4 100644 --- a/noncore/settings/sysinfo/devicesinfo.cpp +++ b/noncore/settings/sysinfo/devicesinfo.cpp @@ -265,7 +265,7 @@ void UsbCategory::populate() lastDev = dev; } } - else if ( line.startsWith( "S: Product" ) ) + else if ( dev && line.startsWith( "S: Product" ) ) { int dp = line.find( '=' ); dev->setText( 0, dp != -1 ? line.right( line.length()-1-dp ) : "<unknown>" ); diff --git a/noncore/todayplugins/stockticker/libstocks/http.c b/noncore/todayplugins/stockticker/libstocks/http.c index 2f38f8a..cc78ab7 100644 --- a/noncore/todayplugins/stockticker/libstocks/http.c +++ b/noncore/todayplugins/stockticker/libstocks/http.c @@ -210,7 +210,7 @@ libstocks_return_code http_get(char *http_file, char *http_server, char **pdata) header_founded = 0; while( !header_founded ) { - if (*temp==0) return ERRRHEA; + if (!temp || *temp==0) return ERRRHEA; if( *temp==0x0A ) { |