Re: [Ekiga-devel-list] Bug & design issue in the video options
- From: Damien Sandras <dsandras seconix com>
- To: Ekiga development mailing list <ekiga-devel-list gnome org>
- Subject: Re: [Ekiga-devel-list] Bug & design issue in the video options
- Date: Sat, 05 Apr 2008 11:34:04 +0200
Le vendredi 04 avril 2008 à 21:58 +0200, Julien Puydt a écrit :
> Hi,
>
> I had a crash through the following code in opal-gmconf-bridge.cpp:
> GMManager::VideoOptions options;
> manager.get_video_options (options);
> options.maximum_received_bitrate = gm_conf_entry_get_int (entry);
> manager.set_video_options (options);
>
> The reason for the crash is that if you set the maximum_received_bitrate
> to zero, it leads to "SIGFPE, Arithmetic exception.". And that is
> exactly what this code does : it directly takes a gm_conf_get_int and
> shoves where it hurts.
>
> If the key isn't set in gmconf, then gm_conf_get_int will spit a
> warning... and return zero!
>
> So the obvious fix would be to check for zero before using this integer.
>
> But there is a better fix :
> (1) either it shouldn't be possible to have direct write access to that
> option.maximum_received_bitrate -- it should be private and only
> accessible through a setter function, which would check what is given ;
> (2) or the set_video_options should check option for sanity before
> making them the used setting.
>
Matthias was taking care of this (iirc).
> I've been pretty busy today playing with the --disable-gconf version,
> which makes it much easier to do torture tests to ekiga's code since it
> makes it so damn trivial to hide the system settings and hence see how
> the code copes with a fully broken configuration... until now I found :
> a subtle issue (I still have to push the fix to the gnome-2-22 branch),
> and some little crashers like the above. Not bad, but definitely not
> perfect.
Good!
--
_ Damien Sandras
(o-
//\ Ekiga Softphone : http://www.ekiga.org/
v_/_ NOVACOM : http://www.novacom.be/
FOSDEM : http://www.fosdem.org/
SIP Phone : sip:dsandras ekiga net
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]