Package: ydpdict
Version: 1.0.0-1
Attaching a forwarded bug report.
--
Marcin Owsiany <porri...@debian.org> http://marcin.owsiany.pl/
GnuPG: 1024D/60F41216 FE67 DA2D 0ACA FC5E 3F75 D6F6 3A0D 8AA0 60F4 1216
--- Begin Message ---
Cześć!
Po ostatniej aktualizacji pakietu ydpdict i dostosowaniu do libao4, przy
próbie odtworzenia wymowy, za pomocą wbudowanej obsługi w słowniku,
pojawia się segmentation fault.
Przyczyną powstania tego błędu jest niezainicjowany wskaźnik "matrix" w
strukturze typu ao_sample_format.
Po dodaniu w funkcji play_libao z pliku ydpsound.c poniżej linijki:
format.matrix = NULL;
błąd naruszenia ochrony pamięci już się nie pojawia.
W załączniku jest patch, który sprawdziłem u siebie i który dodaje
powyższą linijkę. Wygenerowany został ze źródeł ściągniętych z serwera
FTP debiana, po nałożeniu patcha ydpdict_1.0.0-1.diff.gz.
Pozdrawiam
Paweł Sobczak
diff -rupN ydpdict-1.0.0.org//src/ydpsound.c ydpdict-1.0.0/src/ydpsound.c
--- ydpdict-1.0.0.org//src/ydpsound.c 2008-01-19 12:36:34.000000000 +0100
+++ ydpdict-1.0.0/src/ydpsound.c 2010-08-03 10:42:55.000000000 +0200
@@ -113,6 +113,7 @@ static int play_libao(char *sample, int
format.channels = chans;
format.rate = freq;
format.byte_format = AO_FMT_NATIVE;
+ format.matrix=NULL;
if (!(device = ao_open_live(driver, &format, NULL)))
return -1;
--- End Message ---