Bug in KProcIO

Jimmy Gilles jimmygilles at gmail.com
Sun Jan 1 16:12:33 GMT 2006


Hello, i have found a bug in KProcIO

In the header file of QList (qlist.h), line 224, there is the line
*  inline void removeFirst() { Q_ASSERT(!isEmpty()); erase(begin()); }
and there is an assert if the list is empty.


In KProcIO.cpp, there is this function :
=========

void KProcIO::sent(KProcess *)
{
  if (!outbuffer.isEmpty())     // <==== i have added this line
    outbuffer.removeFirst();

  if (outbuffer.count()==0)
  {
     writeready=true;
  }
  else
  {
     QByteArray *b = outbuffer.first();
     if (!b)
     {
        closeStdin();
     }
     else
     {
        KProcess::writeStdin(b->data(), b->size());
     }
  }

}

===========

You can see that i have added a line in this file because sometimes i have a 
bug when the outbuffer list is empty.

I don't know if it is the good fix.

Is it possible to correct this bug ?
thank you

-- 
Jimmy Gilles




More information about the kde-core-devel mailing list