After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 305489 - Festival driver in gnome-speech-0.3.7 seg faults
Festival driver in gnome-speech-0.3.7 seg faults
Status: RESOLVED FIXED
Product: gnome-speech
Classification: Deprecated
Component: drivers
0.3.x
Other All
: Urgent critical
: ---
Assigned To: Willie Walker
Willie Walker
Depends on:
Blocks:
 
 
Reported: 2005-05-25 21:54 UTC by Willie Walker
Modified: 2005-09-27 10:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.7/2.8


Attachments
festivalsynthesisdriver.c:get_voice_list_with_spec appears to suffer from strcmp syntax issues (981 bytes, patch)
2005-05-25 22:02 UTC, Willie Walker
committed Details | Review

Description Willie Walker 2005-05-25 21:54:19 UTC
Version details: 0.3.7

Download gnome-speech-0.3.7.
Build/install it on Fedora Core 3 with prefix=/usr
Run festival-synthesis-driver by hand in a terminal window.
Run test-speech in another terminal window.
  Select the Festival synthesis driver
  Select 'm' for gender
  Enter 'all' for locale

The synthesis driver will seg fault.
Comment 1 Willie Walker 2005-05-25 22:02:43 UTC
Created attachment 46889 [details] [review]
festivalsynthesisdriver.c:get_voice_list_with_spec appears to suffer from strcmp syntax issues

What appears to be happening here is that the if statement in
get_voice_list_with_spec want to succeed if the strings are identical.	The
problem is that the strcmp syntax seems to have bitten the author of this code,
causing the code to do the opposite of what one might expect (I think).   This
patch merely places a "!" in front of the strcmps, causing the if to succeed if
the strings match.

There is still an underlying problem here, however, which seems to have existed
in prior versions of the driver as well.  festival_createSpeaker is going to
call this method, and it may end up with a NULL info that it will pass to
festivalspeaker.c:festival_speaker_new.  festival_speaker_new assumes it's
getting a non-NULL value, and looks to info->name.  I think we need to decide
what to do here.
Comment 2 bill.haneman 2005-09-27 10:17:27 UTC
Will, why wasn't there a new gnome-speech release after this bugfix was committed?
Comment 3 bill.haneman 2005-09-27 10:21:41 UTC
Patched code looks weird anyway, in that the return value of the expression is
'TRUE' if either strlen (info->name) or strlen(info->language) are 0.  Should we
be allowing nameless, language-less voices here?
Comment 4 bill.haneman 2005-09-27 10:23:26 UTC
I agree that info should never be NULL.  Possibly it's OK to make it mostly
empty, i.e. no locale and no name.