From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v7 02/11] xen: avoid memleaks on error Date: Thu, 3 Mar 2016 10:38:07 +0100 Message-ID: <1456997896-14063-3-git-send-email-jgross__7993.53449042446$1456997980$gmane$org@suse.com> References: <1456997896-14063-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: <1456997896-14063-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+ ClJldmlld2VkLWJ5OiBEYW5pZWwgS2lwZXIgPGRhbmllbC5raXBlckBvcmFjbGUuY29tPgotLS0K VjU6IHNldCBncnViX2Vycm5vIHRvIEdSVUJfRVJSX05PTkUgdG8gYXZvaWQgZmFsc2UgZXJyb3Ig cmVwb3J0cyBhcyByZXF1ZXN0ZWQKICAgIGJ5IERhbmllbCBLaXBlcgotLS0KIGdydWItY29yZS9s b2FkZXIvaTM4Ni94ZW4uYyAgICAgICAgfCAgMiArLQogZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L3hl bl9maWxlWFguYyB8IDE5ICsrKysrKysrKysrKystLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTQg aW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ncnViLWNvcmUvbG9h ZGVyL2kzODYveGVuLmMgYi9ncnViLWNvcmUvbG9hZGVyL2kzODYveGVuLmMKaW5kZXggMTc5ZTg5 Yy4uZjQ1ZjcwZiAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L3hlbi5jCisrKyBi L2dydWItY29yZS9sb2FkZXIvaTM4Ni94ZW4uYwpAQCAtNTYzLDcgKzU2Myw3IEBAIGdydWJfY21k X2luaXRyZCAoZ3J1Yl9jb21tYW5kX3QgY21kIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSwKICAg ICB7CiAgICAgICBlcnIgPSBncnViX3JlbG9jYXRvcl9hbGxvY19jaHVua19hZGRyIChyZWxvY2F0 b3IsICZjaCwgbWF4X2FkZHIsIHNpemUpOwogICAgICAgaWYgKGVycikKLQlyZXR1cm4gZXJyOwor CWdvdG8gZmFpbDsKIAogICAgICAgaWYgKGdydWJfaW5pdHJkX2xvYWQgKCZpbml0cmRfY3R4LCBh cmd2LAogCQkJICAgIGdldF92aXJ0dWFsX2N1cnJlbnRfYWRkcmVzcyAoY2gpKSkKZGlmZiAtLWdp dCBhL2dydWItY29yZS9sb2FkZXIvaTM4Ni94ZW5fZmlsZVhYLmMgYi9ncnViLWNvcmUvbG9hZGVy L2kzODYveGVuX2ZpbGVYWC5jCmluZGV4IDFiYTU2NDkuLjM2YjQwZTQgMTAwNjQ0Ci0tLSBhL2dy dWItY29yZS9sb2FkZXIvaTM4Ni94ZW5fZmlsZVhYLmMKKysrIGIvZ3J1Yi1jb3JlL2xvYWRlci9p Mzg2L3hlbl9maWxlWFguYwpAQCAtMjYsNiArMjYsOCBAQCBwYXJzZV94ZW5fZ3Vlc3QgKGdydWJf ZWxmX3QgZWxmLCBzdHJ1Y3QgZ3J1Yl94ZW5fZmlsZV9pbmZvICp4aSwKICAgY2hhciAqYnVmOwog ICBjaGFyICpwdHI7CiAgIGludCBoYXNfcGFkZHIgPSAwOworCisgIGdydWJfZXJybm8gPSBHUlVC X0VSUl9OT05FOwogICBpZiAoZ3J1Yl9maWxlX3NlZWsgKGVsZi0+ZmlsZSwgb2ZmKSA9PSAoZ3J1 Yl9vZmZfdCkgLTEpCiAgICAgcmV0dXJuIGdydWJfZXJybm87CiAgIGJ1ZiA9IGdydWJfbWFsbG9j IChzeik7CkBAIC0zNSw3ICszNyw4IEBAIHBhcnNlX3hlbl9ndWVzdCAoZ3J1Yl9lbGZfdCBlbGYs IHN0cnVjdCBncnViX3hlbl9maWxlX2luZm8gKnhpLAogICBpZiAoZ3J1Yl9maWxlX3JlYWQgKGVs Zi0+ZmlsZSwgYnVmLCBzeikgIT0gKGdydWJfc3NpemVfdCkgc3opCiAgICAgewogICAgICAgaWYg KGdydWJfZXJybm8pCi0JcmV0dXJuIGdydWJfZXJybm87CisJZ290byBvdXQ7CisgICAgICBncnVi X2ZyZWUgKGJ1Zik7CiAgICAgICByZXR1cm4gZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQkFEX09TLCBO XygicHJlbWF0dXJlIGVuZCBvZiBmaWxlICVzIiksCiAJCQkgZWxmLT5maWxlLT5uYW1lKTsKICAg ICB9CkBAIC0xMjMsMTQgKzEyNiwxNCBAQCBwYXJzZV94ZW5fZ3Vlc3QgKGdydWJfZWxmX3QgZWxm LCBzdHJ1Y3QgZ3J1Yl94ZW5fZmlsZV9pbmZvICp4aSwKIAl7CiAJICB4aS0+dmlydF9iYXNlID0g Z3J1Yl9zdHJ0b3VsbCAocHRyICsgc2l6ZW9mICgiVklSVF9CQVNFPSIpIC0gMSwgJnB0ciwgMTYp OwogCSAgaWYgKGdydWJfZXJybm8pCi0JICAgIHJldHVybiBncnViX2Vycm5vOworCSAgICBnb3Rv IG91dDsKIAkgIGNvbnRpbnVlOwogCX0KICAgICAgIGlmIChncnViX3N0cm5jbXAgKHB0ciwgIlZJ UlRfRU5UUlk9Iiwgc2l6ZW9mICgiVklSVF9FTlRSWT0iKSAtIDEpID09IDApCiAJewogCSAgeGkt PmVudHJ5X3BvaW50ID0gZ3J1Yl9zdHJ0b3VsbCAocHRyICsgc2l6ZW9mICgiVklSVF9FTlRSWT0i KSAtIDEsICZwdHIsIDE2KTsKIAkgIGlmIChncnViX2Vycm5vKQotCSAgICByZXR1cm4gZ3J1Yl9l cnJubzsKKwkgICAgZ290byBvdXQ7CiAJICBjb250aW51ZTsKIAl9CiAgICAgICBpZiAoZ3J1Yl9z dHJuY21wIChwdHIsICJIWVBFUkNBTExfUEFHRT0iLCBzaXplb2YgKCJIWVBFUkNBTExfUEFHRT0i KSAtIDEpID09IDApCkBAIC0xMzgsNyArMTQxLDcgQEAgcGFyc2VfeGVuX2d1ZXN0IChncnViX2Vs Zl90IGVsZiwgc3RydWN0IGdydWJfeGVuX2ZpbGVfaW5mbyAqeGksCiAJICB4aS0+aHlwZXJjYWxs X3BhZ2UgPSBncnViX3N0cnRvdWxsIChwdHIgKyBzaXplb2YgKCJIWVBFUkNBTExfUEFHRT0iKSAt IDEsICZwdHIsIDE2KTsKIAkgIHhpLT5oYXNfaHlwZXJjYWxsX3BhZ2UgPSAxOwogCSAgaWYgKGdy dWJfZXJybm8pCi0JICAgIHJldHVybiBncnViX2Vycm5vOworCSAgICBnb3RvIG91dDsKIAkgIGNv bnRpbnVlOwogCX0KICAgICAgIGlmIChncnViX3N0cm5jbXAgKHB0ciwgIkVMRl9QQUREUl9PRkZT RVQ9Iiwgc2l6ZW9mICgiRUxGX1BBRERSX09GRlNFVD0iKSAtIDEpID09IDApCkBAIC0xNDYsNyAr MTQ5LDcgQEAgcGFyc2VfeGVuX2d1ZXN0IChncnViX2VsZl90IGVsZiwgc3RydWN0IGdydWJfeGVu X2ZpbGVfaW5mbyAqeGksCiAJICB4aS0+cGFkZHJfb2Zmc2V0ID0gZ3J1Yl9zdHJ0b3VsbCAocHRy ICsgc2l6ZW9mICgiRUxGX1BBRERSX09GRlNFVD0iKSAtIDEsICZwdHIsIDE2KTsKIAkgIGhhc19w YWRkciA9IDE7CiAJICBpZiAoZ3J1Yl9lcnJubykKLQkgICAgcmV0dXJuIGdydWJfZXJybm87CisJ ICAgIGdvdG8gb3V0OwogCSAgY29udGludWU7CiAJfQogICAgIH0KQEAgLTE1NCw3ICsxNTcsMTEg QEAgcGFyc2VfeGVuX2d1ZXN0IChncnViX2VsZl90IGVsZiwgc3RydWN0IGdydWJfeGVuX2ZpbGVf aW5mbyAqeGksCiAgICAgeGktPmh5cGVyY2FsbF9wYWdlID0gKHhpLT5oeXBlcmNhbGxfcGFnZSA8 PCAxMikgKyB4aS0+dmlydF9iYXNlOwogICBpZiAoIWhhc19wYWRkcikKICAgICB4aS0+cGFkZHJf b2Zmc2V0ID0geGktPnZpcnRfYmFzZTsKLSAgcmV0dXJuIEdSVUJfRVJSX05PTkU7CisKK291dDoK KyAgZ3J1Yl9mcmVlIChidWYpOworCisgIHJldHVybiBncnViX2Vycm5vOwogfQogCiAjcHJhZ21h IEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XY2FzdC1hbGlnbiIKLS0gCjIuNi4yCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK