patch: crash upon invalid id3

lucida <[email protected]> Sun, 16 Nov 2003 10:21:12 -0800
Newsgroups gmane.comp.multimedia.beep-media-player.devel
Message-ID <1069006871.8237.8.camel@fancyworld>
--=-kXY0wA6cURKZzq9wAOgu
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

When a mp3 file contains an invalid(a g_locale_to_utf8 convert would
fail in this case) id3 title field, the bmp would crash. This fix will
use filename as title text instead of crappy id3 title if possible.

Another one-line patch for prefswin.c sets the correct sample text for
the "select playlist font" dialog.

lucida



--=-kXY0wA6cURKZzq9wAOgu
Content-Disposition: attachment; filename=id3fix.diff
Content-Transfer-Encoding: base64
Content-Type: text/x-patch; name=id3fix.diff; charset=

ZGlmZiAtcnVOIGJtcC9iZWVwL2VxdWFsaXplci5jIGJtcC5jdXJyZW50L2JlZXAvZXF1YWxpemVy
LmMNCi0tLSBibXAvYmVlcC9lcXVhbGl6ZXIuYwkyMDAzLTExLTE2IDEwOjA4OjQ3LjAwMDAwMDAw
MCAtMDgwMA0KKysrIGJtcC5jdXJyZW50L2JlZXAvZXF1YWxpemVyLmMJMjAwMy0xMS0xNiAxMDow
ODo1OS4wMDAwMDAwMDAgLTA4MDANCkBAIC02OTMsNyArNjkzLDcgQEANCiBzdGF0aWMgdm9pZCBl
cXVhbGl6ZXJ3aW5fY3JlYXRlX2d0ayh2b2lkKQ0KIHsNCiAJZXF1YWxpemVyd2luID0gZ3RrX3dp
bmRvd19uZXcoR1RLX1dJTkRPV19UT1BMRVZFTCk7DQotCWd0a193aW5kb3dfc2V0X3RyYW5zaWVu
dF9mb3IoR1RLX1dJTkRPVyhtYWlud2luKSxHVEtfV0lORE9XKGVxdWFsaXplcndpbikpOw0KKy8v
CWd0a193aW5kb3dfc2V0X3RyYW5zaWVudF9mb3IoR1RLX1dJTkRPVyhtYWlud2luKSxHVEtfV0lO
RE9XKGVxdWFsaXplcndpbikpOw0KIAlkb2NrX2FkZF93aW5kb3coZG9ja193aW5kb3dfbGlzdCwg
ZXF1YWxpemVyd2luKTsNCiAJZ3RrX3dpZGdldF9zZXRfYXBwX3BhaW50YWJsZShlcXVhbGl6ZXJ3
aW4sIFRSVUUpOw0KIAlndGtfd2luZG93X3NldF90aXRsZShHVEtfV0lORE9XKGVxdWFsaXplcndp
biksIF8oImJlZXAgOjogZXF1YWxpemVyIikpOw0KZGlmZiAtcnVOIGJtcC9iZWVwL3BsYXlsaXN0
LmMgYm1wLmN1cnJlbnQvYmVlcC9wbGF5bGlzdC5jDQotLS0gYm1wL2JlZXAvcGxheWxpc3QuYwky
MDAzLTExLTE2IDEwOjA4OjQ3LjAwMDAwMDAwMCAtMDgwMA0KKysrIGJtcC5jdXJyZW50L2JlZXAv
cGxheWxpc3QuYwkyMDAzLTExLTE2IDEwOjA4OjU5LjAwMDAwMDAwMCAtMDgwMA0KQEAgLTEwODMs
NyArMTA4Myw3IEBADQogDQogY2hhciAqcGxheWxpc3RfZ2V0X2luZm9fdGV4dCh2b2lkKQ0KIHsN
Ci0JY2hhciAqdGV4dCwgKnRpdGxlLCAqdG1wLCAqbnVtYmVycywgKmxlbmd0aDsNCisJY2hhciAq
dGV4dCwgKnRpdGxlLCAqdG1wLCAqbnVtYmVycywgKmxlbmd0aCwgKnV0Zjh0aXRsZTsNCiANCiAJ
UExfTE9DSygpOw0KIAlpZiAoIXBsYXlsaXN0X3Bvc2l0aW9uKQ0KQEAgLTEwOTcsNiArMTA5Nyw4
IEBADQogCWVsc2UNCiAJCXRpdGxlID0gZ19wYXRoX2dldF9iYXNlbmFtZShwbGF5bGlzdF9wb3Np
dGlvbi0+ZmlsZW5hbWUpOw0KIA0KKwlpZiAoIWdfbG9jYWxlX3RvX3V0ZjgodGl0bGUsIC0xLCBO
VUxMLCBOVUxMLCBOVUxMKSkgDQorCQl0aXRsZSA9IGdfcGF0aF9nZXRfYmFzZW5hbWUocGxheWxp
c3RfcG9zaXRpb24tPmZpbGVuYW1lKTsNCiAJLyoNCiAJICogSWYgdGhlIHVzZXIgZG9uJ3Qgd2Fu
dCBudW1iZXJzIGluIHRoZSBwbGF5bGlzdCwgZG9uJ3QNCiAJICogZGlzcGxheSB0aGVtIGluIG90
aGVyIHBhcnRzIG9mIFhNTVMNCkBAIC0xNDQ5LDcgKzE0NTEsNyBAQA0KIA0KIGdjaGFyICogcGxh
eWxpc3RfZ2V0X3Nvbmd0aXRsZShnaW50IHBvcykNCiB7DQotCWNoYXIgKnRpdGxlID0gTlVMTCwg
KmZpbGVuYW1lOw0KKwljaGFyICp0aXRsZSA9IE5VTEwsICpmaWxlbmFtZSwgKnV0Zjh0aXRsZTsN
CiAJUGxheWxpc3RFbnRyeSAqZW50cnk7DQogCUdMaXN0ICpub2RlOw0KIA0KQEAgLTE0ODIsMTAg
KzE0ODQsMTUgQEANCiAJCVBMX1VOTE9DSygpOw0KIAl9DQogDQorDQogCWlmICh0aXRsZSA9PSBO
VUxMKQ0KIAkJdGl0bGUgPSBnX3N0cmR1cChnX2Jhc2VuYW1lKGZpbGVuYW1lKSk7DQotDQorCQ0K
Kwl1dGY4dGl0bGUgPSBnX2xvY2FsZV90b191dGY4KHRpdGxlLCAtMSwgTlVMTCwgTlVMTCwgTlVM
TCk7DQorCWlmICggdXRmOHRpdGxlID09IE5VTEwpIHRpdGxlID0gZ19zdHJkdXAoZ19iYXNlbmFt
ZShmaWxlbmFtZSkpOw0KKy8vCXByaW50ZigiJXNcbiIsIHRpdGxlKTsNCiAJZ19mcmVlKGZpbGVu
YW1lKTsNCisJZ19mcmVlKHV0Zjh0aXRsZSk7DQogDQogCXJldHVybiB0aXRsZTsNCiB9DQpkaWZm
IC1ydU4gYm1wL2JlZXAvcGxheWxpc3RfbGlzdC5jIGJtcC5jdXJyZW50L2JlZXAvcGxheWxpc3Rf
bGlzdC5jDQotLS0gYm1wL2JlZXAvcGxheWxpc3RfbGlzdC5jCTIwMDMtMTEtMTYgMTA6MDg6NDcu
MDAwMDAwMDAwIC0wODAwDQorKysgYm1wLmN1cnJlbnQvYmVlcC9wbGF5bGlzdF9saXN0LmMJMjAw
My0xMS0xNiAxMDowODo1OS4wMDAwMDAwMDAgLTA4MDANCkBAIC00MzMsNiArNDMxLDkgQEANCiAJ
CWVsc2UNCiAJCQl0aXRsZSA9IGdfYmFzZW5hbWUoZW50cnktPmZpbGVuYW1lKTsNCiANCisJCWlm
ICghZ19sb2NhbGVfdG9fdXRmOCh0aXRsZSwgLTEsIE5VTEwsIE5VTEwsIE5VTEwpKSANCisJCQl0
aXRsZSA9IGdfYmFzZW5hbWUoZW50cnktPmZpbGVuYW1lKTsNCisNCiAJCXBvcyA9IHBsYXlsaXN0
X2dldF9xdWV1ZV9wb3NpdGlvbihlbnRyeSk7DQogCQkNCiAJCWlmIChwb3MgIT0gLTEpDQpkaWZm
IC1ydU4gYm1wL2JlZXAvcHJlZnN3aW4uYyBibXAuY3VycmVudC9iZWVwL3ByZWZzd2luLmMNCi0t
LSBibXAvYmVlcC9wcmVmc3dpbi5jCTIwMDMtMTEtMTYgMTA6MDg6NDcuMDAwMDAwMDAwIC0wODAw
DQorKysgYm1wLmN1cnJlbnQvYmVlcC9wcmVmc3dpbi5jCTIwMDMtMTEtMTYgMTA6MDg6NTkuMDAw
MDAwMDAwIC0wODAwDQpAQCAtNDQxLDcgKzQ0MSw3IEBADQogDQogCWZvbnRzZWwgPSBndGtfZm9u
dF9zZWxlY3Rpb25fZGlhbG9nX25ldyhfKCJTZWxlY3QgcGxheWxpc3QgZm9udDoiKSk7DQogDQot
CWd0a19mb250X3NlbGVjdGlvbl9kaWFsb2dfc2V0X3ByZXZpZXdfdGV4dChHVEtfRk9OVF9TRUxF
Q1RJT05fRElBTE9HKGZvbnRzZWwpLHBsYXlsaXN0X2dldF9zb25ndGl0bGUoZ2V0X3BsYXlsaXN0
X3Bvc2l0aW9uKCkpKTsNCisJZ3RrX2ZvbnRfc2VsZWN0aW9uX2RpYWxvZ19zZXRfcHJldmlld190
ZXh0KEdUS19GT05UX1NFTEVDVElPTl9ESUFMT0coZm9udHNlbCksZ19sb2NhbGVfdG9fdXRmOChw
bGF5bGlzdF9nZXRfc29uZ3RpdGxlKGdldF9wbGF5bGlzdF9wb3NpdGlvbigpKSwgLTEsIE5VTEws
IE5VTEwsIE5VTEwpKTsNCiAJZ3RrX2ZvbnRfc2VsZWN0aW9uX2RpYWxvZ19zZXRfZm9udF9uYW1l
KEdUS19GT05UX1NFTEVDVElPTl9ESUFMT0coZm9udHNlbCksIGNmZy5wbGF5bGlzdF9mb250KTsN
CiANCiAJcmVzcG9uc2UgPSBndGtfZGlhbG9nX3J1bihHVEtfRElBTE9HKGZvbnRzZWwpKTsNCg==

--=-kXY0wA6cURKZzq9wAOgu--