From kde-core-devel Wed Aug 22 17:57:08 2012 From: "Joris Guisson" Date: Wed, 22 Aug 2012 17:57:08 +0000 To: kde-core-devel Subject: Re: Review Request: Do not crash avahi DNSSD service Message-Id: <20120822175708.14117.45089 () vidsolbach ! de> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=134565825307485 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============7616679794815873724==" --===============7616679794815873724== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/105613/#review17870 ----------------------------------------------------------- Ship it! Ship It! - Joris Guisson On July 19, 2012, 1:55 a.m., Christoph Feck wrote: > = > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/105613/ > ----------------------------------------------------------- > = > (Updated July 19, 2012, 1:55 a.m.) > = > = > Review request for kdelibs, KTorrent, Joris Guisson, and Thiago Macieira. > = > = > Description > ------- > = > This is my attempt to fix the crash. As far as I followed the code, the c= rash is because of m_group =3D=3D 0 in serverStateChanged() when the avahi = server is initially "registering" or in "collision", and not "running" yet.= When e.g. KTorrent starts, it is possible that the avahi server needs some= time until it is fully setup. The m_group is initialized when the first tr= yApply() is called, which only happens when server is initially in "running= " state. > = > Additionally, the m_running variable was never reset to false in stop(), = so the (sync) publish() would never return on failure. > = > = > This addresses bug 215288. > http://bugs.kde.org/show_bug.cgi?id=3D215288 > = > = > Diffs > ----- > = > dnssd/avahi-publicservice.cpp 52bef22 = > = > Diff: http://git.reviewboard.kde.org/r/105613/diff/ > = > = > Testing > ------- > = > I have no idea what avahi is or how it works, so I did not test it. > = > = > Thanks, > = > Christoph Feck > = > --===============7616679794815873724== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://git.revie= wboard.kde.org/r/105613/

Ship it!

Ship It!
 

- Joris


On July 19th, 2012, 1:55 a.m., Christoph Feck wrote:

Review request for kdelibs, KTorrent, Joris Guisson, and Thiago Maciei= ra.
By Christoph Feck.

Updated July 19, 2012, 1:55 a.m.

Descripti= on

This is my attempt to fix the crash. As far as I followed th=
e code, the crash is because of m_group =3D=3D 0 in serverStateChanged() wh=
en the avahi server is initially "registering" or in "collis=
ion", and not "running" yet. When e.g. KTorrent starts, it i=
s possible that the avahi server needs some time until it is fully setup. T=
he m_group is initialized when the first tryApply() is called, which only h=
appens when server is initially in "running" state.

Additionally, the m_running variable was never reset to false in stop(), so=
 the (sync) publish() would never return on failure.

Testing <= /h1>
I have no idea what avahi is or how it works, so I did not t=
est it.
Bugs: 215288

Diffs=

  • dnssd/avahi-publicservice.cpp (52bef22)

View Diff

--===============7616679794815873724==--