From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v5 02/11] xen: avoid memleaks on error Date: Thu, 25 Feb 2016 12:33:28 +0100 Message-ID: <1456400017-5789-3-git-send-email-jgross@suse.com> References: <1456400017-5789-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1456400017-5789-1-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: grub-devel@gnu.org Cc: Juergen Gross , phcoder@gmail.com, daniel.kiper@oracle.com, mchang@suse.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org V2hlbiBsb2FkaW5nIGEgWGVuIHB2LWtlcm5lbCBhdm9pZCBtZW1vcnkgbGVha3MgaW4gY2FzZSBv ZiBlcnJvcnMuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ Ci0tLQpWNTogc2V0IGdydWJfZXJybm8gdG8gR1JVQl9FUlJfTk9ORSB0byBhdm9pZCBmYWxzZSBl cnJvciByZXBvcnRzIGFzIHJlcXVlc3RlZAogICAgYnkgRGFuaWVsIEtpcGVyCi0tLQogZ3J1Yi1j b3JlL2xvYWRlci9pMzg2L3hlbi5jICAgICAgICB8ICAyICstCiBncnViLWNvcmUvbG9hZGVyL2kz ODYveGVuX2ZpbGVYWC5jIHwgMTkgKysrKysrKysrKysrKy0tLS0tLQogMiBmaWxlcyBjaGFuZ2Vk LCAxNCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dydWItY29y ZS9sb2FkZXIvaTM4Ni94ZW4uYyBiL2dydWItY29yZS9sb2FkZXIvaTM4Ni94ZW4uYwppbmRleCAx NzllODljLi5mNDVmNzBmIDEwMDY0NAotLS0gYS9ncnViLWNvcmUvbG9hZGVyL2kzODYveGVuLmMK KysrIGIvZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L3hlbi5jCkBAIC01NjMsNyArNTYzLDcgQEAgZ3J1 Yl9jbWRfaW5pdHJkIChncnViX2NvbW1hbmRfdCBjbWQgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkp LAogICAgIHsKICAgICAgIGVyciA9IGdydWJfcmVsb2NhdG9yX2FsbG9jX2NodW5rX2FkZHIgKHJl bG9jYXRvciwgJmNoLCBtYXhfYWRkciwgc2l6ZSk7CiAgICAgICBpZiAoZXJyKQotCXJldHVybiBl cnI7CisJZ290byBmYWlsOwogCiAgICAgICBpZiAoZ3J1Yl9pbml0cmRfbG9hZCAoJmluaXRyZF9j dHgsIGFyZ3YsCiAJCQkgICAgZ2V0X3ZpcnR1YWxfY3VycmVudF9hZGRyZXNzIChjaCkpKQpkaWZm IC0tZ2l0IGEvZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L3hlbl9maWxlWFguYyBiL2dydWItY29yZS9s b2FkZXIvaTM4Ni94ZW5fZmlsZVhYLmMKaW5kZXggMWJhNTY0OS4uMzZiNDBlNCAxMDA2NDQKLS0t IGEvZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L3hlbl9maWxlWFguYworKysgYi9ncnViLWNvcmUvbG9h ZGVyL2kzODYveGVuX2ZpbGVYWC5jCkBAIC0yNiw2ICsyNiw4IEBAIHBhcnNlX3hlbl9ndWVzdCAo Z3J1Yl9lbGZfdCBlbGYsIHN0cnVjdCBncnViX3hlbl9maWxlX2luZm8gKnhpLAogICBjaGFyICpi dWY7CiAgIGNoYXIgKnB0cjsKICAgaW50IGhhc19wYWRkciA9IDA7CisKKyAgZ3J1Yl9lcnJubyA9 IEdSVUJfRVJSX05PTkU7CiAgIGlmIChncnViX2ZpbGVfc2VlayAoZWxmLT5maWxlLCBvZmYpID09 IChncnViX29mZl90KSAtMSkKICAgICByZXR1cm4gZ3J1Yl9lcnJubzsKICAgYnVmID0gZ3J1Yl9t YWxsb2MgKHN6KTsKQEAgLTM1LDcgKzM3LDggQEAgcGFyc2VfeGVuX2d1ZXN0IChncnViX2VsZl90 IGVsZiwgc3RydWN0IGdydWJfeGVuX2ZpbGVfaW5mbyAqeGksCiAgIGlmIChncnViX2ZpbGVfcmVh ZCAoZWxmLT5maWxlLCBidWYsIHN6KSAhPSAoZ3J1Yl9zc2l6ZV90KSBzeikKICAgICB7CiAgICAg ICBpZiAoZ3J1Yl9lcnJubykKLQlyZXR1cm4gZ3J1Yl9lcnJubzsKKwlnb3RvIG91dDsKKyAgICAg IGdydWJfZnJlZSAoYnVmKTsKICAgICAgIHJldHVybiBncnViX2Vycm9yIChHUlVCX0VSUl9CQURf T1MsIE5fKCJwcmVtYXR1cmUgZW5kIG9mIGZpbGUgJXMiKSwKIAkJCSBlbGYtPmZpbGUtPm5hbWUp OwogICAgIH0KQEAgLTEyMywxNCArMTI2LDE0IEBAIHBhcnNlX3hlbl9ndWVzdCAoZ3J1Yl9lbGZf dCBlbGYsIHN0cnVjdCBncnViX3hlbl9maWxlX2luZm8gKnhpLAogCXsKIAkgIHhpLT52aXJ0X2Jh c2UgPSBncnViX3N0cnRvdWxsIChwdHIgKyBzaXplb2YgKCJWSVJUX0JBU0U9IikgLSAxLCAmcHRy LCAxNik7CiAJICBpZiAoZ3J1Yl9lcnJubykKLQkgICAgcmV0dXJuIGdydWJfZXJybm87CisJICAg IGdvdG8gb3V0OwogCSAgY29udGludWU7CiAJfQogICAgICAgaWYgKGdydWJfc3RybmNtcCAocHRy LCAiVklSVF9FTlRSWT0iLCBzaXplb2YgKCJWSVJUX0VOVFJZPSIpIC0gMSkgPT0gMCkKIAl7CiAJ ICB4aS0+ZW50cnlfcG9pbnQgPSBncnViX3N0cnRvdWxsIChwdHIgKyBzaXplb2YgKCJWSVJUX0VO VFJZPSIpIC0gMSwgJnB0ciwgMTYpOwogCSAgaWYgKGdydWJfZXJybm8pCi0JICAgIHJldHVybiBn cnViX2Vycm5vOworCSAgICBnb3RvIG91dDsKIAkgIGNvbnRpbnVlOwogCX0KICAgICAgIGlmIChn cnViX3N0cm5jbXAgKHB0ciwgIkhZUEVSQ0FMTF9QQUdFPSIsIHNpemVvZiAoIkhZUEVSQ0FMTF9Q QUdFPSIpIC0gMSkgPT0gMCkKQEAgLTEzOCw3ICsxNDEsNyBAQCBwYXJzZV94ZW5fZ3Vlc3QgKGdy dWJfZWxmX3QgZWxmLCBzdHJ1Y3QgZ3J1Yl94ZW5fZmlsZV9pbmZvICp4aSwKIAkgIHhpLT5oeXBl cmNhbGxfcGFnZSA9IGdydWJfc3RydG91bGwgKHB0ciArIHNpemVvZiAoIkhZUEVSQ0FMTF9QQUdF PSIpIC0gMSwgJnB0ciwgMTYpOwogCSAgeGktPmhhc19oeXBlcmNhbGxfcGFnZSA9IDE7CiAJICBp ZiAoZ3J1Yl9lcnJubykKLQkgICAgcmV0dXJuIGdydWJfZXJybm87CisJICAgIGdvdG8gb3V0Owog CSAgY29udGludWU7CiAJfQogICAgICAgaWYgKGdydWJfc3RybmNtcCAocHRyLCAiRUxGX1BBRERS X09GRlNFVD0iLCBzaXplb2YgKCJFTEZfUEFERFJfT0ZGU0VUPSIpIC0gMSkgPT0gMCkKQEAgLTE0 Niw3ICsxNDksNyBAQCBwYXJzZV94ZW5fZ3Vlc3QgKGdydWJfZWxmX3QgZWxmLCBzdHJ1Y3QgZ3J1 Yl94ZW5fZmlsZV9pbmZvICp4aSwKIAkgIHhpLT5wYWRkcl9vZmZzZXQgPSBncnViX3N0cnRvdWxs IChwdHIgKyBzaXplb2YgKCJFTEZfUEFERFJfT0ZGU0VUPSIpIC0gMSwgJnB0ciwgMTYpOwogCSAg aGFzX3BhZGRyID0gMTsKIAkgIGlmIChncnViX2Vycm5vKQotCSAgICByZXR1cm4gZ3J1Yl9lcnJu bzsKKwkgICAgZ290byBvdXQ7CiAJICBjb250aW51ZTsKIAl9CiAgICAgfQpAQCAtMTU0LDcgKzE1 NywxMSBAQCBwYXJzZV94ZW5fZ3Vlc3QgKGdydWJfZWxmX3QgZWxmLCBzdHJ1Y3QgZ3J1Yl94ZW5f ZmlsZV9pbmZvICp4aSwKICAgICB4aS0+aHlwZXJjYWxsX3BhZ2UgPSAoeGktPmh5cGVyY2FsbF9w YWdlIDw8IDEyKSArIHhpLT52aXJ0X2Jhc2U7CiAgIGlmICghaGFzX3BhZGRyKQogICAgIHhpLT5w YWRkcl9vZmZzZXQgPSB4aS0+dmlydF9iYXNlOwotICByZXR1cm4gR1JVQl9FUlJfTk9ORTsKKwor b3V0OgorICBncnViX2ZyZWUgKGJ1Zik7CisKKyAgcmV0dXJuIGdydWJfZXJybm87CiB9CiAKICNw cmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdjYXN0LWFsaWduIgotLSAKMi42LjIKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=