~ubuntu-branches/ubuntu/breezy/koffice/breezy-security

« back to all changes in this revision

Viewing changes to kword/resizehandles.cc

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2005-10-11 14:49:50 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051011144950-lwpngbifzp8nk0ds
Tags: 1:1.4.1-0ubuntu7
* SECURITY UPDATE: fix heap based buffer overflow in the RTF importer of KWord
* Opening specially crafted RTF files in KWord can cause
  execution of abitrary code.
* Add kubuntu_01_rtfimport_heap_overflow.diff
* References:
  CAN-2005-2971
  CESA-2005-005
  http://www.koffice.org/security/advisory-20051011-1.txt

Show diffs side-by-side

added added

removed removed

Lines of Context:
123
123
 
124
124
void KWResizeHandle::mousePressEvent( QMouseEvent *e )
125
125
{
 
126
    if ( e->button() != LeftButton )
 
127
    {
 
128
        e->ignore(); // let KWCanvas handle it
 
129
        return;
 
130
    }
126
131
    KWFrameSet *fs = 0;
127
132
    KWFrame *frm = 0;
128
133
 
129
134
    // Deselect all other frames
130
135
    KWDocument * doc = frame->frameSet()->kWordDocument();
131
 
    for ( unsigned int i = 0; i < doc->getNumFrameSets(); ++i ) {
 
136
    for ( unsigned int i = 0; i < doc->numFrameSets(); ++i ) {
132
137
        fs = doc->frameSet( i );
133
138
        for ( unsigned int j = 0; j < fs->getNumFrames(); ++j ) {
134
139
            frm = fs->frame( j );
145
150
 
146
151
    MouseMeaning meaning = doc->getMouseMeaning( nPoint, e->state() );
147
152
    Q_ASSERT( meaning >= MEANING_TOPLEFT ); // had be better be about resizing...
 
153
    if ( meaning < MEANING_TOPLEFT )
 
154
        kdDebug(32001) << "KWResizeHandle: got unexpected meaning " << meaning << endl;
148
155
 
149
156
    m_canvas->mpEditFrame( 0, nPoint, meaning );
150
157
}
151
158
 
152
159
void KWResizeHandle::mouseReleaseEvent( QMouseEvent *e )
153
160
{
 
161
    if ( e->button() != LeftButton )
 
162
    {
 
163
        e->ignore(); // let KWCanvas handle it
 
164
        return;
 
165
    }
154
166
    mousePressed = false;
155
167
    QPoint vPoint( x() + e->x(), y() + e->y() );
156
168
    QPoint nPoint = m_canvas->viewMode()->viewToNormal( vPoint );