From mboxrd@z Thu Jan 1 00:00:00 1970 From: SF Markus Elfring Subject: [PATCH 3/3] ALSA: rawmidi: Adjust 21 checks for null pointers Date: Sat, 11 Nov 2017 12:13:19 +0100 Message-ID: <51addc0f-81fe-1e55-347a-807b960c5430@users.sourceforge.net> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mout.web.de (mout.web.de [212.227.15.3]) by alsa0.perex.cz (Postfix) with ESMTP id C7EED266A73 for ; Sat, 11 Nov 2017 12:13:25 +0100 (CET) In-Reply-To: Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: alsa-devel@alsa-project.org, Fabian Frederick , Ingo Molnar , Jaroslav Kysela , Takashi Iwai , Takashi Sakamoto Cc: kernel-janitors@vger.kernel.org, LKML List-Id: alsa-devel@alsa-project.org RnJvbTogTWFya3VzIEVsZnJpbmcgPGVsZnJpbmdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgpEYXRl OiBTYXQsIDExIE5vdiAyMDE3IDExOjQ4OjI1ICswMTAwCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29k aW5nOiA4Yml0CgpUaGUgc2NyaXB0IOKAnGNoZWNrcGF0Y2gucGzigJ0gcG9pbnRlZCBpbmZvcm1h dGlvbiBvdXQgbGlrZSB0aGUgZm9sbG93aW5nLgoKQ29tcGFyaXNvbiB0byBOVUxMIGNvdWxkIGJl IHdyaXR0ZW4g4oCmCgpUaHVzIGZpeCB0aGUgYWZmZWN0ZWQgc291cmNlIGNvZGUgcGxhY2VzLgoK U2lnbmVkLW9mZi1ieTogTWFya3VzIEVsZnJpbmcgPGVsZnJpbmdAdXNlcnMuc291cmNlZm9yZ2Uu bmV0PgotLS0KIHNvdW5kL2NvcmUvcmF3bWlkaS5jIHwgNDIgKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwg MjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9yYXdtaWRpLmMgYi9zb3Vu ZC9jb3JlL3Jhd21pZGkuYwppbmRleCAzNDY4NjAwMGVjY2UuLjE5MzRkZTI1N2ExZSAxMDA2NDQK LS0tIGEvc291bmQvY29yZS9yYXdtaWRpLmMKKysrIGIvc291bmQvY29yZS9yYXdtaWRpLmMKQEAg LTM0Myw3ICszNDMsNyBAQCBpbnQgc25kX3Jhd21pZGlfa2VybmVsX29wZW4oc3RydWN0IHNuZF9j YXJkICpjYXJkLCBpbnQgZGV2aWNlLCBpbnQgc3ViZGV2aWNlLAogCiAJbXV0ZXhfbG9jaygmcmVn aXN0ZXJfbXV0ZXgpOwogCXJtaWRpID0gc25kX3Jhd21pZGlfc2VhcmNoKGNhcmQsIGRldmljZSk7 Ci0JaWYgKHJtaWRpID09IE5VTEwpIHsKKwlpZiAoIXJtaWRpKSB7CiAJCW11dGV4X3VubG9jaygm cmVnaXN0ZXJfbXV0ZXgpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CkBAIC0zOTEsNyArMzkxLDcg QEAgc3RhdGljIGludCBzbmRfcmF3bWlkaV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVj dCBmaWxlICpmaWxlKQogCX0gZWxzZQogCQlyZXR1cm4gLUVOWElPOwogCi0JaWYgKHJtaWRpID09 IE5VTEwpCisJaWYgKCFybWlkaSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAlpZiAoIXRyeV9tb2R1 bGVfZ2V0KHJtaWRpLT5jYXJkLT5tb2R1bGUpKSB7CkBAIC00MDgsNyArNDA4LDcgQEAgc3RhdGlj IGludCBzbmRfcmF3bWlkaV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpm aWxlKQogCWlmICgoZmlsZS0+Zl9mbGFncyAmIE9fQVBQRU5EKSB8fCBtYWogPT0gU09VTkRfTUFK T1IpIC8qIE9TUyBlbXVsPyAqLwogCQlmZmxhZ3MgfD0gU05EUlZfUkFXTUlESV9MRkxHX0FQUEVO RDsKIAlyYXdtaWRpX2ZpbGUgPSBrbWFsbG9jKHNpemVvZigqcmF3bWlkaV9maWxlKSwgR0ZQX0tF Uk5FTCk7Ci0JaWYgKHJhd21pZGlfZmlsZSA9PSBOVUxMKSB7CisJaWYgKCFyYXdtaWRpX2ZpbGUp IHsKIAkJZXJyID0gLUVOT01FTTsKIAkJZ290byBfX2Vycm9yOwogCX0KQEAgLTU1Miw3ICs1NTIs NyBAQCBzdGF0aWMgaW50IHNuZF9yYXdtaWRpX2luZm8oc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0 cmVhbSAqc3Vic3RyZWFtLAogewogCXN0cnVjdCBzbmRfcmF3bWlkaSAqcm1pZGk7CiAJCi0JaWYg KHN1YnN0cmVhbSA9PSBOVUxMKQorCWlmICghc3Vic3RyZWFtKQogCQlyZXR1cm4gLUVOT0RFVjsK IAlybWlkaSA9IHN1YnN0cmVhbS0+cm1pZGk7CiAJbWVtc2V0KGluZm8sIDAsIHNpemVvZigqaW5m bykpOwpAQCAtNzQ1LDExICs3NDUsMTEgQEAgc3RhdGljIGxvbmcgc25kX3Jhd21pZGlfaW9jdGwo c3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcKIAkJCXJl dHVybiAtRUZBVUxUOwogCQlzd2l0Y2ggKHBhcmFtcy5zdHJlYW0pIHsKIAkJY2FzZSBTTkRSVl9S QVdNSURJX1NUUkVBTV9PVVRQVVQ6Ci0JCQlpZiAocmZpbGUtPm91dHB1dCA9PSBOVUxMKQorCQkJ aWYgKCFyZmlsZS0+b3V0cHV0KQogCQkJCXJldHVybiAtRUlOVkFMOwogCQkJcmV0dXJuIHNuZF9y YXdtaWRpX291dHB1dF9wYXJhbXMocmZpbGUtPm91dHB1dCwgJnBhcmFtcyk7CiAJCWNhc2UgU05E UlZfUkFXTUlESV9TVFJFQU1fSU5QVVQ6Ci0JCQlpZiAocmZpbGUtPmlucHV0ID09IE5VTEwpCisJ CQlpZiAoIXJmaWxlLT5pbnB1dCkKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCXJldHVybiBzbmRf cmF3bWlkaV9pbnB1dF9wYXJhbXMocmZpbGUtPmlucHV0LCAmcGFyYW1zKTsKIAkJZGVmYXVsdDoK QEAgLTc2NCwxMiArNzY0LDEyIEBAIHN0YXRpYyBsb25nIHNuZF9yYXdtaWRpX2lvY3RsKHN0cnVj dCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nCiAJCQlyZXR1cm4g LUVGQVVMVDsKIAkJc3dpdGNoIChzdGF0dXMuc3RyZWFtKSB7CiAJCWNhc2UgU05EUlZfUkFXTUlE SV9TVFJFQU1fT1VUUFVUOgotCQkJaWYgKHJmaWxlLT5vdXRwdXQgPT0gTlVMTCkKKwkJCWlmICgh cmZpbGUtPm91dHB1dCkKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCWVyciA9IHNuZF9yYXdtaWRp X291dHB1dF9zdGF0dXMocmZpbGUtPm91dHB1dCwgJnN0YXR1cyk7CiAJCQlicmVhazsKIAkJY2Fz ZSBTTkRSVl9SQVdNSURJX1NUUkVBTV9JTlBVVDoKLQkJCWlmIChyZmlsZS0+aW5wdXQgPT0gTlVM TCkKKwkJCWlmICghcmZpbGUtPmlucHV0KQogCQkJCXJldHVybiAtRUlOVkFMOwogCQkJZXJyID0g c25kX3Jhd21pZGlfaW5wdXRfc3RhdHVzKHJmaWxlLT5pbnB1dCwgJnN0YXR1cyk7CiAJCQlicmVh azsKQEAgLTc4OSw3ICs3ODksNyBAQCBzdGF0aWMgbG9uZyBzbmRfcmF3bWlkaV9pb2N0bChzdHJ1 Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZwogCQkJcmV0dXJu IC1FRkFVTFQ7CiAJCXN3aXRjaCAodmFsKSB7CiAJCWNhc2UgU05EUlZfUkFXTUlESV9TVFJFQU1f T1VUUFVUOgotCQkJaWYgKHJmaWxlLT5vdXRwdXQgPT0gTlVMTCkKKwkJCWlmICghcmZpbGUtPm91 dHB1dCkKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCXJldHVybiBzbmRfcmF3bWlkaV9kcm9wX291 dHB1dChyZmlsZS0+b3V0cHV0KTsKIAkJZGVmYXVsdDoKQEAgLTgwMywxMSArODAzLDExIEBAIHN0 YXRpYyBsb25nIHNuZF9yYXdtaWRpX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBp bnQgY21kLCB1bnNpZ25lZCBsb25nCiAJCQlyZXR1cm4gLUVGQVVMVDsKIAkJc3dpdGNoICh2YWwp IHsKIAkJY2FzZSBTTkRSVl9SQVdNSURJX1NUUkVBTV9PVVRQVVQ6Ci0JCQlpZiAocmZpbGUtPm91 dHB1dCA9PSBOVUxMKQorCQkJaWYgKCFyZmlsZS0+b3V0cHV0KQogCQkJCXJldHVybiAtRUlOVkFM OwogCQkJcmV0dXJuIHNuZF9yYXdtaWRpX2RyYWluX291dHB1dChyZmlsZS0+b3V0cHV0KTsKIAkJ Y2FzZSBTTkRSVl9SQVdNSURJX1NUUkVBTV9JTlBVVDoKLQkJCWlmIChyZmlsZS0+aW5wdXQgPT0g TlVMTCkKKwkJCWlmICghcmZpbGUtPmlucHV0KQogCQkJCXJldHVybiAtRUlOVkFMOwogCQkJcmV0 dXJuIHNuZF9yYXdtaWRpX2RyYWluX2lucHV0KHJmaWxlLT5pbnB1dCk7CiAJCWRlZmF1bHQ6CkBA IC04ODUsNyArODg1LDcgQEAgaW50IHNuZF9yYXdtaWRpX3JlY2VpdmUoc3RydWN0IHNuZF9yYXdt aWRpX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAogCiAJaWYgKCFzdWJzdHJlYW0tPm9wZW5lZCkKIAkJ cmV0dXJuIC1FQkFERkQ7Ci0JaWYgKHJ1bnRpbWUtPmJ1ZmZlciA9PSBOVUxMKSB7CisJaWYgKCFy dW50aW1lLT5idWZmZXIpIHsKIAkJcm1pZGlfZGJnKHN1YnN0cmVhbS0+cm1pZGksCiAJCQkgICJz bmRfcmF3bWlkaV9yZWNlaXZlOiBpbnB1dCBpcyBub3QgYWN0aXZlISEhXG4iKTsKIAkJcmV0dXJu IC1FSU5WQUw7CkBAIC05OTksNyArOTk5LDcgQEAgc3RhdGljIHNzaXplX3Qgc25kX3Jhd21pZGlf cmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW4KIAog CXJmaWxlID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwogCXN1YnN0cmVhbSA9IHJmaWxlLT5pbnB1dDsK LQlpZiAoc3Vic3RyZWFtID09IE5VTEwpCisJaWYgKCFzdWJzdHJlYW0pCiAJCXJldHVybiAtRUlP OwogCXJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CiAJc25kX3Jhd21pZGlfaW5wdXRfdHJp Z2dlcihzdWJzdHJlYW0sIDEpOwpAQCAtMTA1Miw3ICsxMDUyLDcgQEAgaW50IHNuZF9yYXdtaWRp X3RyYW5zbWl0X2VtcHR5KHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkK IAlpbnQgcmVzdWx0OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlpZiAocnVudGltZS0+YnVm ZmVyID09IE5VTEwpIHsKKwlpZiAoIXJ1bnRpbWUtPmJ1ZmZlcikgewogCQlybWlkaV9kYmcoc3Vi c3RyZWFtLT5ybWlkaSwKIAkJCSAgInNuZF9yYXdtaWRpX3RyYW5zbWl0X2VtcHR5OiBvdXRwdXQg aXMgbm90IGFjdGl2ZSEhIVxuIik7CiAJCXJldHVybiAxOwpAQCAtMTA3OCw3ICsxMDc4LDcgQEAg aW50IF9fc25kX3Jhd21pZGlfdHJhbnNtaXRfcGVlayhzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3Ry ZWFtICpzdWJzdHJlYW0sCiAJaW50IHJlc3VsdCwgY291bnQxOwogCXN0cnVjdCBzbmRfcmF3bWlk aV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwogCi0JaWYgKHJ1bnRpbWUt PmJ1ZmZlciA9PSBOVUxMKSB7CisJaWYgKCFydW50aW1lLT5idWZmZXIpIHsKIAkJcm1pZGlfZGJn KHN1YnN0cmVhbS0+cm1pZGksCiAJCQkgICJzbmRfcmF3bWlkaV90cmFuc21pdF9wZWVrOiBvdXRw dXQgaXMgbm90IGFjdGl2ZSEhIVxuIik7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTE1MSw3ICsx MTUxLDcgQEAgaW50IF9fc25kX3Jhd21pZGlfdHJhbnNtaXRfYWNrKHN0cnVjdCBzbmRfcmF3bWlk aV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNvdW4KIHsKIAlzdHJ1Y3Qgc25kX3Jhd21pZGlf cnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAotCWlmIChydW50aW1lLT5i dWZmZXIgPT0gTlVMTCkgeworCWlmICghcnVudGltZS0+YnVmZmVyKSB7CiAJCXJtaWRpX2RiZyhz dWJzdHJlYW0tPnJtaWRpLAogCQkJICAic25kX3Jhd21pZGlfdHJhbnNtaXRfYWNrOiBvdXRwdXQg aXMgbm90IGFjdGl2ZSEhIVxuIik7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTM2OSwyMSArMTM2 OSwyMSBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHNuZF9yYXdtaWRpX3BvbGwoc3RydWN0IGZpbGUg KmZpbGUsIHBvbGxfdGFibGUgKiB3YWl0KQogCXVuc2lnbmVkIGludCBtYXNrOwogCiAJcmZpbGUg PSBmaWxlLT5wcml2YXRlX2RhdGE7Ci0JaWYgKHJmaWxlLT5pbnB1dCAhPSBOVUxMKSB7CisJaWYg KHJmaWxlLT5pbnB1dCkgewogCQlydW50aW1lID0gcmZpbGUtPmlucHV0LT5ydW50aW1lOwogCQlz bmRfcmF3bWlkaV9pbnB1dF90cmlnZ2VyKHJmaWxlLT5pbnB1dCwgMSk7CiAJCXBvbGxfd2FpdChm aWxlLCAmcnVudGltZS0+c2xlZXAsIHdhaXQpOwogCX0KLQlpZiAocmZpbGUtPm91dHB1dCAhPSBO VUxMKSB7CisJaWYgKHJmaWxlLT5vdXRwdXQpIHsKIAkJcnVudGltZSA9IHJmaWxlLT5vdXRwdXQt PnJ1bnRpbWU7CiAJCXBvbGxfd2FpdChmaWxlLCAmcnVudGltZS0+c2xlZXAsIHdhaXQpOwogCX0K IAltYXNrID0gMDsKLQlpZiAocmZpbGUtPmlucHV0ICE9IE5VTEwpIHsKKwlpZiAocmZpbGUtPmlu cHV0KSB7CiAJCWlmIChzbmRfcmF3bWlkaV9yZWFkeShyZmlsZS0+aW5wdXQpKQogCQkJbWFzayB8 PSBQT0xMSU4gfCBQT0xMUkROT1JNOwogCX0KLQlpZiAocmZpbGUtPm91dHB1dCAhPSBOVUxMKSB7 CisJaWYgKHJmaWxlLT5vdXRwdXQpIHsKIAkJaWYgKHNuZF9yYXdtaWRpX3JlYWR5KHJmaWxlLT5v dXRwdXQpKQogCQkJbWFzayB8PSBQT0xMT1VUIHwgUE9MTFdSTk9STTsKIAl9CkBAIC0xNTQ3LDcg KzE1NDcsNyBAQCBpbnQgc25kX3Jhd21pZGlfbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgY2hh ciAqaWQsIGludCBkZXZpY2UsCiAJSU5JVF9MSVNUX0hFQUQoJnJtaWRpLT5zdHJlYW1zW1NORFJW X1JBV01JRElfU1RSRUFNX0lOUFVUXS5zdWJzdHJlYW1zKTsKIAlJTklUX0xJU1RfSEVBRCgmcm1p ZGktPnN0cmVhbXNbU05EUlZfUkFXTUlESV9TVFJFQU1fT1VUUFVUXS5zdWJzdHJlYW1zKTsKIAot CWlmIChpZCAhPSBOVUxMKQorCWlmIChpZCkKIAkJc3RybGNweShybWlkaS0+aWQsIGlkLCBzaXpl b2Yocm1pZGktPmlkKSk7CiAKIAlzbmRfZGV2aWNlX2luaXRpYWxpemUoJnJtaWRpLT5kZXYsIGNh cmQpOwotLSAKMi4xNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpBbHNhLWRldmVsIG1haWxpbmcgbGlzdApBbHNhLWRldmVsQGFsc2EtcHJvamVjdC5v cmcKaHR0cDovL21haWxtYW4uYWxzYS1wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Fsc2Et ZGV2ZWwK