From kfm-devel Wed Sep 01 09:13:04 1999 From: Waldo Bastian Date: Wed, 01 Sep 1999 09:13:04 +0000 To: kfm-devel Subject: KDE 1.1.2/PATCH kfm memory leaks/buffer overruns/etc. X-MARC-Message: https://marc.info/?l=kfm-devel&m=93617697929559 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD" --Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD Content-Type: text/plain Content-Transfer-Encoding: 8bit Hiya, The following four patches fix small problms detected with insure: Patch 1 fixes a memory leak in the htmlcache. If a file does not exist any more, the QString with its new is never deleted. Patch 2 fixes a memory leak in KDELnkMimeType. When the comment is requested the config object is not deleted afterwards. Patch 3 fixes a delete problem. An array is allocated but it isn't free'ed as an array. Patch 4 fixes a buffer overrun in the mime-magi detection. Please test and let me know if I can commit it. Cheers, Waldo --Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD Content-Type: text/x-c++; name="kdebase.kfm.01-09-99.diff1" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kdebase.kfm.01-09-99.diff1" SW5kZXg6IGh0bWxjYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2RlL2tkZWJh c2Uva2ZtL0F0dGljL2h0bWxjYWNoZS5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjAuNC4y CmRpZmYgLXUgLXIxLjIwLjQuMiBodG1sY2FjaGUuY3BwCi0tLSBodG1sY2FjaGUuY3BwCTE5OTkv MDMvMjQgMTc6NTk6MDEJMS4yMC40LjIKKysrIGh0bWxjYWNoZS5jcHAJMTk5OS8wOS8wMSAwOTow NDo0NgpAQCAtMTU0LDYgKzE1NCwxMCBAQAogICAgICAgICAvL2RlYnVnKCJIVE1MQ0FDSEU6OnNs b3RKb2JGaW5pc2hlZCA6IGluc2VydGluZyAlcyIscy0+ZGF0YSgpKTsKICAgICAgICAgdXJsRGlj dC0+cmVwbGFjZSggX2pvYi0+Z2V0U3JjVVJMKCksIHMgKTsKICAgICB9CisgICAgZWxzZSAKKyAg ICB7CisgICAgICAgZGVsZXRlIHM7CisgICAgfQogCiAgICAgLy8gVGVsbCBhbGwgaW5zdGFuY2Vz CiAgICAgSFRNTENhY2hlICpwOwpAQCAtMzM0LDcgKzMzOCwxMSBAQAogCSAgaWYgKCBsc3RhdCgg cy0+ZGF0YSgpLCAmYnVmZiApID09IDAgKSB7CiAgICAgICAgICAgICAvL2RlYnVnKCJIVE1MQ0FD SEUgOiBpbnNlcnRpbmcgJXMiLHMtPmRhdGEoKSk7CiAJICAgIHVybERpY3QtPnJlcGxhY2UoIHVy bCwgcyApOwotICAgICAgICAgIH0gLy9lbHNlIGRlYnVnKCJIVE1MQ0FDSEUgOiBfbm90XyBpbnNl cnRpbmcgJXMiLHMtPmRhdGEoKSk7CisgICAgICAgICAgfSAKKyAgICAgICAgICBlbHNlIAorICAg ICAgICAgIHsKKyAgICAgICAgICAgIGRlbGV0ZSBzOworICAgICAgICAgIH0KIAl9CiAgICAgICB9 CiAgICAgfSB3aGlsZSAoIHAgKTsK --Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD Content-Type: text/x-c++; name="kdebase.kfm.01-09-99.diff2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kdebase.kfm.01-09-99.diff2" SW5kZXg6IGtiaW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlYmFzZS9r Zm0vQXR0aWMva2JpbmQuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEwMS4yLjYKZGlmZiAt dSAtcjEuMTAxLjIuNiBrYmluZC5jcHAKLS0tIGtiaW5kLmNwcAkxOTk5LzA3LzI5IDA3OjI4OjI5 CTEuMTAxLjIuNgorKysga2JpbmQuY3BwCTE5OTkvMDkvMDEgMDk6MDU6MDAKQEAgLTk3MywxMiAr OTczLDEzIEBACiAKIFFTdHJpbmcgS0RFTG5rTWltZVR5cGU6OmdldENvbW1lbnQoIGNvbnN0IGNo YXIgKl91cmwgKQogewotICBLU2ltcGxlQ29uZmlnICpjb25maWcgPSBLTWltZUJpbmQ6Om9wZW5L Q29uZmlnKCBfdXJsICk7IC8vIGthbGxlCisgICAgS1NpbXBsZUNvbmZpZyAqY29uZmlnID0gS01p bWVCaW5kOjpvcGVuS0NvbmZpZyggX3VybCApOyAvLyBrYWxsZQogICAgIAogICAgIGlmICggY29u ZmlnID09IDBMICkKIAlyZXR1cm4gUVN0cmluZygpOwogICAgIAogICAgIFFTdHJpbmcgZXJnID0g Y29uZmlnLT5yZWFkRW50cnkoICJDb21tZW50IiApOworICAgIGRlbGV0ZSBjb25maWc7CiAgICAg cmV0dXJuIFFTdHJpbmcoIGVyZy5kYXRhKCkgKTsKIH0KIAo= --Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD Content-Type: text/x-c++; name="kdebase.kfm.01-09-99.diff3" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kdebase.kfm.01-09-99.diff3" SW5kZXg6IGtmbW1hbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2RlL2tkZWJhc2Uv a2ZtL0F0dGljL2tmbW1hbi5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTA3LjIuMTEKZGlm ZiAtdSAtcjEuMTA3LjIuMTEga2ZtbWFuLmNwcAotLS0ga2ZtbWFuLmNwcAkxOTk5LzA4LzI4IDA3 OjAwOjAxCTEuMTA3LjIuMTEKKysrIGtmbW1hbi5jcHAJMTk5OS8wOS8wMSAwOTowNTowOApAQCAt MTIwNyw3ICsxMjA3LDcgQEAKIAkgICAgS01pbWVUeXBlICp0eXAgPSBLTWltZVR5cGU6OmZpbmRC eU5hbWUoIGFUeXBlICk7CiAJICAgIC8vIEhhdmUgd2UgcmVnaXN0ZXJlZCB0aGlzIG1pbWUgdHlw ZSBpbiBLREUgPwogCSAgICBpZiAoIHR5cCAmJiB0eXAtPnJ1biggdHJ5VVJMICkgKXsKLQkgICAg ICAgIGRlbGV0ZSB0eXBlc3RyOworCSAgICAgICAgaWYgKHR5cGVzdHIpIGRlbGV0ZSBbXSB0eXBl c3RyOwogCQlyZXR1cm47CiAgICAgICAgICAgICAgfQkJCiAJfQpAQCAtMTIyMSwxNCArMTIyMSwx NCBAQAogCSAgaWYgKCBiaW5kICkKIAkgIHsKIAkgICAgYmluZC0+cnVuQmluZGluZyggdHJ5VVJM ICk7Ci0JICAgIGlmICh0eXBlc3RyKSBkZWxldGUgdHlwZXN0cjsKKwkgICAgaWYgKHR5cGVzdHIp IGRlbGV0ZSBbXSB0eXBlc3RyOwogCSAgICByZXR1cm47CiAJICB9CiAKIAkgIFFTdHJpbmcgcGF0 dGVybiA9IGwuZ2V0VGV4dCgpOwogCSAgaWYgKCBwYXR0ZXJuLmlzRW1wdHkoKSApCiAJICB7Ci0J ICAgIGlmICh0eXBlc3RyKSBkZWxldGUgdHlwZXN0cjsKKwkgICAgaWYgKHR5cGVzdHIpIGRlbGV0 ZSBbXSB0eXBlc3RyOwogCSAgICByZXR1cm47CiAJICB9CQogCSAgCkBAIC0xMjcxLDcgKzEyNzEs NyBAQAogCWVsc2UKIAkgICAgYkJ1ZmZlclBhZ2UgPSBUUlVFOwogICAgIH0KLSAgICBpZiAodHlw ZXN0cikgZGVsZXRlIHR5cGVzdHI7CisgICAgaWYgKHR5cGVzdHIpIGRlbGV0ZSBbXSB0eXBlc3Ry OwogfQogCiAK --Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD Content-Type: text/x-c; name="kdebase.kfm.01-09-99.diff4" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kdebase.kfm.01-09-99.diff4" SW5kZXg6IGttaW1lbWFnaWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVi YXNlL2tmbS9BdHRpYy9rbWltZW1hZ2ljLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45LjQu MwpkaWZmIC11IC1yMS45LjQuMyBrbWltZW1hZ2ljLmNwcAotLS0ga21pbWVtYWdpYy5jcHAJMTk5 OS8wNC8wNyAxNjo1OTowNAkxLjkuNC4zCisrKyBrbWltZW1hZ2ljLmNwcAkxOTk5LzA5LzAxIDA5 OjA2OjEyCkBAIC0xMzExLDcgKzEzMTEsNyBAQAogCWlmIChuYnl0ZXMgPT0gMCkgewogCQlyZXN1 bHRCdWYgKz0gTUlNRV9CSU5BUllfWkVST1NJWkU7CiAJfSBlbHNlIHsKLQkJYnVmW25ieXRlcysr XSA9ICdcMCc7CS8qIG51bGwtdGVybWluYXRlIGl0ICovCisJCWJ1ZltuYnl0ZXNdID0gJ1wwJzsJ LyogbnVsbC10ZXJtaW5hdGUgaXQgKi8KIAkJdHJ5aXQoYnVmLCBuYnl0ZXMpOwogCX0KIAo= --Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD--