[PATCH] Wipe out Lisp password data using memset(), not #'fill
Aidan Kehoe <[email protected]> Sat, 11 Apr 2015 21:04:32 +0100
| Newsgroups | gmane.emacs.xemacs.patches |
|---|---|
| Message-ID | <[email protected]> |
CkhpIEplcnJ5IC0tCgpUaGlzIGFsc28gc3RydWNrIG1lIHdoZW4gc2Nyb2xsaW5nIHRocm91Z2gg dGxzLmMuCgpCZXN0LAoKQWlkYW4KCjIwMTUtMDQtMTEgIEFpZGFuIEtlaG9lICA8a2Vob2VhQHBh cmhhc2FyZC5uZXQ+CgoJKiB0bHMuYyAobnNzX3BrMTFfcGFzc3dvcmQpOgoJKiB0bHMuYyAoZ251 dGxzX3BrMTFfcGFzc3dvcmQpOgoJKiB0bHMuYyAob3BlbnNzbF9wYXNzd29yZCk6CglXaXBlIG91 dCB0aGUgTGlzcCBzdHJpbmcgcGFzc3dvcmQgdXNpbmcgbWVtc2V0KCkgcmF0aGVyIHRoYW4KCSMn ZmlsbCwgd2hpY2ggY2FuIHJlYWxsb2NhdGUgdGhlIHN0cmluZyBkYXRhIHdoZW4gYSBzdHJpbmcn cyBieXRlCglsZW5ndGggY2hhbmdlcy4KCmRpZmYgLXIgYTg1ZWZkYWJlMjM3IHNyYy90bHMuYwot LS0gYS9zcmMvdGxzLmMJVGh1IEFwciAwOSAxNDo1NDozNyAyMDE1ICswMTAwCisrKyBiL3NyYy90 bHMuYwlTYXQgQXByIDExIDIxOjAwOjI3IDIwMTUgKzAxMDAKQEAgLTMwMiw3ICszMDIsNyBAQAog c3RhdGljIGNoYXIgKgogbnNzX3BrMTFfcGFzc3dvcmQgKFBLMTFTbG90SW5mbyAqc2xvdCwgUFJC b29sIHJldHJ5LCB2b2lkICogVU5VU0VEIChhcmcpKQogewotICBMaXNwX09iamVjdCBsc3BfcGFz c3dvcmQsIGFyZ3NbMl07CisgIExpc3BfT2JqZWN0IGxzcF9wYXNzd29yZDsKICAgRXh0Ynl0ZSAq Y19wYXNzd29yZCwgKm5zc19wYXNzd29yZDsKICAgY29uc3QgRXh0Ynl0ZSAqdG9rZW5fbmFtZTsK IApAQCAtMzE4LDEwICszMTgsMTQgQEAKICAgY19wYXNzd29yZCA9IExJU1BfU1RSSU5HX1RPX0VY VEVSTkFMIChsc3BfcGFzc3dvcmQsIFFuYXRpdmUpOwogICBuc3NfcGFzc3dvcmQgPSBQTF9zdHJk dXAgKGNfcGFzc3dvcmQpOwogCi0gIC8qIFdpcGUgb3V0IHRoZSBwYXNzd29yZCBvbiB0aGUgc3Rh Y2sgYW5kIGluIHRoZSBMaXNwIHN0cmluZyAqLwotICBhcmdzWzBdID0gbHNwX3Bhc3N3b3JkOwot ICBhcmdzWzFdID0gbWFrZV9jaGFyICgnKicpOwotICBGZmlsbCAoMiwgYXJncyk7CisgIC8qIFdp cGUgb3V0IHRoZSBwYXNzd29yZCBvbiB0aGUgc3RhY2sgYW5kIGluIHRoZSBMaXNwIHN0cmluZy4g WW91IG1heSBiZQorICAgICB0ZW1wdGVkIHRvIGNhbGwgIydmaWxsIGhlcmU7IGRvbid0LCBpdCBt YXkgcmVhbGxvYyB0aGUgc3RyaW5nIGRhdGEgYW5kCisgICAgIGxlYXZlIHRoZSBvcmlnaW5hbCB1 bmNsZWFyZWQuICovCisgIG1lbXNldCAoWFNUUklOR19EQVRBIChsc3BfcGFzc3dvcmQpLCAnKics IFhTVFJJTkdfTEVOR1RIIChsc3BfcGFzc3dvcmQpKTsKKyAgaW5pdF9zdHJpbmdfYXNjaWlfYmVn aW4gKGxzcF9wYXNzd29yZCk7CisgIGJ1bXBfc3RyaW5nX21vZGlmZiAobHNwX3Bhc3N3b3JkKTsK KyAgc2xlZGdlaGFtbWVyX2NoZWNrX2FzY2lpX2JlZ2luIChsc3BfcGFzc3dvcmQpOworCiAgIG1l bXNldCAoY19wYXNzd29yZCwgJyonLCBzdHJsZW4gKGNfcGFzc3dvcmQpKTsKICAgcmV0dXJuIG5z c19wYXNzd29yZDsKIH0KQEAgLTcyOCwxMCArNzMyLDE0IEBACiAgIG1lbWNweSAocGluLCBjX3Bh c3N3b3JkLCBsZW4pOwogICBwaW5bbGVuXSA9ICdcMCc7CiAKLSAgLyogV2lwZSBvdXQgdGhlIHBh c3N3b3JkIG9uIHRoZSBzdGFjayBhbmQgaW4gdGhlIExpc3Agc3RyaW5nICovCi0gIGFyZ3NbMF0g PSBsc3BfcGFzc3dvcmQ7Ci0gIGFyZ3NbMV0gPSBtYWtlX2NoYXIgKCcqJyk7Ci0gIEZmaWxsICgy LCBhcmdzKTsKKyAgLyogV2lwZSBvdXQgdGhlIHBhc3N3b3JkIG9uIHRoZSBzdGFjayBhbmQgaW4g dGhlIExpc3Agc3RyaW5nLiBZb3UgbWF5IGJlCisgICAgIHRlbXB0ZWQgdG8gY2FsbCAjJ2ZpbGwg aGVyZTsgZG9uJ3QsIGl0IG1heSByZWFsbG9jIHRoZSBzdHJpbmcgZGF0YSBhbmQKKyAgICAgbGVh dmUgdGhlIG9yaWdpbmFsIHVuY2xlYXJlZC4gKi8KKyAgbWVtc2V0IChYU1RSSU5HX0RBVEEgKGxz cF9wYXNzd29yZCksICcqJywgWFNUUklOR19MRU5HVEggKGxzcF9wYXNzd29yZCkpOworICBpbml0 X3N0cmluZ19hc2NpaV9iZWdpbiAobHNwX3Bhc3N3b3JkKTsKKyAgYnVtcF9zdHJpbmdfbW9kaWZm IChsc3BfcGFzc3dvcmQpOworICBzbGVkZ2VoYW1tZXJfY2hlY2tfYXNjaWlfYmVnaW4gKGxzcF9w YXNzd29yZCk7CisKICAgbWVtc2V0IChjX3Bhc3N3b3JkLCAnKicsIHN0cmxlbiAoY19wYXNzd29y ZCkpOwogICByZXR1cm4gR05VVExTX0VfU1VDQ0VTUzsKIH0KQEAgLTEwNzUsNyArMTA4Myw3IEBA CiBvcGVuc3NsX3Bhc3N3b3JkIChjaGFyICpidWYsIGludCBzaXplLCBpbnQgVU5VU0VEIChyd2Zs YWcpLAogCQkgIHZvaWQgKlVOVVNFRCAodXNlcmRhdGEpKQogewotICBMaXNwX09iamVjdCBsc3Bf cGFzc3dvcmQsIGFyZ3NbMl07CisgIExpc3BfT2JqZWN0IGxzcF9wYXNzd29yZDsKICAgRXh0Ynl0 ZSAqY19wYXNzd29yZDsKIAogICBsc3BfcGFzc3dvcmQgPQpAQCAtMTA4MywxMCArMTA5MSwxNCBA QAogICBjX3Bhc3N3b3JkID0gTElTUF9TVFJJTkdfVE9fRVhURVJOQUwgKGxzcF9wYXNzd29yZCwg UW5hdGl2ZSk7CiAgIHN0cm5jcHkgKGJ1ZiwgY19wYXNzd29yZCwgc2l6ZSk7CiAKLSAgLyogV2lw ZSBvdXQgdGhlIHBhc3N3b3JkIG9uIHRoZSBzdGFjayBhbmQgaW4gdGhlIExpc3Agc3RyaW5nICov Ci0gIGFyZ3NbMF0gPSBsc3BfcGFzc3dvcmQ7Ci0gIGFyZ3NbMV0gPSBtYWtlX2NoYXIgKCcqJyk7 Ci0gIEZmaWxsICgyLCBhcmdzKTsKKyAgLyogV2lwZSBvdXQgdGhlIHBhc3N3b3JkIG9uIHRoZSBz dGFjayBhbmQgaW4gdGhlIExpc3Agc3RyaW5nLiBZb3UgbWF5IGJlCisgICAgIHRlbXB0ZWQgdG8g Y2FsbCAjJ2ZpbGwgaGVyZTsgZG9uJ3QsIGl0IG1heSByZWFsbG9jIHRoZSBzdHJpbmcgZGF0YSBh bmQKKyAgICAgbGVhdmUgdGhlIG9yaWdpbmFsIHVuY2xlYXJlZC4gKi8KKyAgbWVtc2V0IChYU1RS SU5HX0RBVEEgKGxzcF9wYXNzd29yZCksICcqJywgWFNUUklOR19MRU5HVEggKGxzcF9wYXNzd29y ZCkpOworICBpbml0X3N0cmluZ19hc2NpaV9iZWdpbiAobHNwX3Bhc3N3b3JkKTsKKyAgYnVtcF9z dHJpbmdfbW9kaWZmIChsc3BfcGFzc3dvcmQpOworICBzbGVkZ2VoYW1tZXJfY2hlY2tfYXNjaWlf YmVnaW4gKGxzcF9wYXNzd29yZCk7CisKICAgbWVtc2V0IChjX3Bhc3N3b3JkLCAnKicsIHN0cmxl biAoY19wYXNzd29yZCkpOwogICByZXR1cm4gKGludCkgc3RybGVuIChidWYpOwogfQoKLS0gCuKA mFRyYW1hZG9sIGlzIGZ1cnRoZXIgZmVkIHRvIGNhdHRsZSBb4oCmXSB3aGVuIHdvcmtpbmcgdGhl bSBb4oCmXSAoYXMgZHJhZnQKYW5pbWFscykgc28gdGhhdCB0aGUgYW5pbWFscyBkbyBub3QgZ2V0 IHRpcmVkIHF1aWNrbHkuIOKApuKAmQoJ4oCUIEFuZ2V3YW5kdGUgQ2hlbWllLCBTZXB0IDIwMTQs IGRlc2NyaWJpbmcgdGhlIHNvY2lhbCBjb250ZXh0IG9mCgkoc3ludGhldGljKSB0cmFtYWRvbCBo YXZpbmcgYmVlbiBmb3VuZCBpbiBDYW1lcm9vbiB0cmVlIHJvb3RzLgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWEVtYWNzLVBhdGNoZXMgbWFpbGluZyBs aXN0ClhFbWFjcy1QYXRjaGVzQHhlbWFjcy5vcmcKaHR0cDovL2xpc3RzLnhlbWFjcy5vcmcvbWFp bG1hbi9saXN0aW5mby94ZW1hY3MtcGF0Y2hlcwo=