patch: vorbis crash fix

Chong Kai Xiong <[email protected]> Wed, 19 Nov 2003 20:46:42 +0800
Newsgroups gmane.comp.multimedia.beep-media-player.devel
Message-ID <[email protected]>
--=-QRb7zMMkE4dH8EGkiTjH
Content-Type: multipart/mixed; boundary="=-2+Q+sJCmq65jwH6s5gZR"


--=-2+Q+sJCmq65jwH6s5gZR
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

The following patch cleans up, fixes the g_free() crash and 2 memory
leaks (un-freed strings) in vorbis_generate_title().

--=20
Chong Kai Xiong
aka 'Descender'



--=-2+Q+sJCmq65jwH6s5gZR
Content-Disposition: attachment; filename=vorbis-crash-fix.diff
Content-Type: text/x-patch; name=vorbis-crash-fix.diff; charset=UTF-8
Content-Transfer-Encoding: base64

LS0tIGJtcC9JbnB1dC92b3JiaXMvdm9yYmlzLmMJMjAwMy0xMS0xNCAwMToyODoxMi4wMDAwMDAw
MDAgKzA4MDANCisrKyBibXAtZGVzY2VuZGVyL0lucHV0L3ZvcmJpcy92b3JiaXMuYwkyMDAzLTEx
LTE5IDE4OjQzOjU3LjAwMDAwMDAwMCArMDgwMA0KQEAgLTcxMywxOCArNzEzLDE2IEBADQogc3Rh
dGljIGdjaGFyICp2b3JiaXNfZ2VuZXJhdGVfdGl0bGUoT2dnVm9yYmlzX0ZpbGUgKnZvcmJpc2Zp
bGUsIGNoYXIgKmZuKQ0KIHsNCiAJLyogQ2FsbGVyIHNob3VsZCBob2xkIHZmX211dGV4ICovDQot
CWNoYXIgKmRpc3BsYXl0aXRsZSA9IE5VTEwsICp0bXAsICpwYXRoLCAqdGVtcDsNCisJZ2NoYXIg
KmRpc3BsYXl0aXRsZSA9IE5VTEw7DQorCWdjaGFyICp0bXA7DQogCXZvcmJpc19jb21tZW50ICpj
b21tZW50Ow0KIAlUaXRsZUlucHV0ICppbnB1dDsNCiANCiAJWE1NU19ORVdfVElUTEVJTlBVVChp
bnB1dCk7DQotCXBhdGggPSBnX3N0cmR1cChmbik7DQotCXRlbXAgPSBzdHJyY2hyKHBhdGgsICcv
Jyk7DQotCWlmICh0ZW1wKQ0KLQkJKnRlbXAgPSAnXDAnOw0KLQlpbnB1dC0+ZmlsZV9uYW1lID0g
Z19iYXNlbmFtZShmbik7DQorDQorCWlucHV0LT5maWxlX25hbWUgPSBnX3BhdGhfZ2V0X2Jhc2Vu
YW1lKGZuKTsNCiAJaW5wdXQtPmZpbGVfZXh0ID0gZXh0bmFtZShmbik7DQotCWlucHV0LT5maWxl
X3BhdGggPSBnX3N0cmR1cF9wcmludGYoIiVzLyIsIHBhdGgpOw0KKwlpbnB1dC0+ZmlsZV9wYXRo
ID0gZ19zdHJkdXBfcHJpbnRmKCIlcy8iLCBmbik7DQogDQogCWlmICgoY29tbWVudCA9IG92X2Nv
bW1lbnQodm9yYmlzZmlsZSwgLTEpKSAhPSBOVUxMKQ0KIAl7DQpAQCAtNzU0LDggKzc1Miw4IEBA
DQogCX0NCiANCiAJZGlzcGxheXRpdGxlID0gZ19zdHJkdXAoeG1tc19nZXRfdGl0bGVzdHJpbmco
dm9yYmlzX2NmZy50YWdfb3ZlcnJpZGUgPw0KLQkJCQkJICAgIHZvcmJpc19jZmcudGFnX2Zvcm1h
dCA6DQotCQkJCQkgICAgeG1tc19nZXRfZ2VudGl0bGVfZm9ybWF0KCksIGlucHV0KSk7DQorCQkJ
CQkJICAgICB2b3JiaXNfY2ZnLnRhZ19mb3JtYXQgOg0KKwkJCQkJCSAgICAgeG1tc19nZXRfZ2Vu
dGl0bGVfZm9ybWF0KCksIGlucHV0KSk7DQogDQogCWdfZnJlZShpbnB1dC0+dHJhY2tfbmFtZSk7
DQogCWdfZnJlZShpbnB1dC0+cGVyZm9ybWVyKTsNCkBAIC03NjMsMTEgKzc2MSwxMCBAQA0KIAln
X2ZyZWUoaW5wdXQtPmRhdGUpOw0KIAlnX2ZyZWUoaW5wdXQtPmdlbnJlKTsNCiAJZ19mcmVlKGlu
cHV0LT5jb21tZW50KTsNCisJZ19mcmVlKGlucHV0LT5maWxlX25hbWUpOw0KKwlnX2ZyZWUoaW5w
dXQtPmZpbGVfcGF0aCk7DQogDQogCWdfZnJlZShpbnB1dCk7DQotCWdfZnJlZShwYXRoKTsNCi0N
Ci0JaWYgKHRtcCkgZ19mcmVlKHRtcCk7DQogDQogCWlmICghZGlzcGxheXRpdGxlKQ0KIAl7DQpA
QCAtODA2LDkgKzgwMywxMCBAQA0KIAkJICAiR2lhbi1DYXJsbyBQYXNjdXR0byA8Z2NwQHNqZW5n
Lm9yZz5cblxuIg0KIAkJICAiVmlzaXQgdGhlIFhpcGgub3JnIEZvdW5kYXRpb24gYXQgaHR0cDov
L3d3dy54aXBoLm9yZy9cbiIpLA0KIAkJXygiT2siKSwgRkFMU0UsIE5VTEwsIE5VTEwpOw0KKw0K
IAlnX3NpZ25hbF9jb25uZWN0KEdfT0JKRUNUKGFib3V0X3dpbmRvdyksICJkZXN0cm95IiwNCi0J
CQkgICBHX0NBTExCQUNLKGd0a193aWRnZXRfZGVzdHJveWVkKSwNCi0JCQkgICAmYWJvdXRfd2lu
ZG93KTsNCisJCQkgR19DQUxMQkFDSyhndGtfd2lkZ2V0X2Rlc3Ryb3llZCksDQorCQkJICZhYm91
dF93aW5kb3cpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCB2b3JiaXNfaW5pdCh2b2lkKQ0K

--=-2+Q+sJCmq65jwH6s5gZR--

--=-QRb7zMMkE4dH8EGkiTjH
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQA/u2YyakVQK4PsKXwRAr3YAJ95w59s60SMfJBvsH5ISPa6d2DwcQCg6Gtv
wo37EGqeYe2SFiWzJsjNwJQ=
=vBf0
-----END PGP SIGNATURE-----

--=-QRb7zMMkE4dH8EGkiTjH--