Use m_burn rather than memset

This commit is contained in:
Thorsten Horstmann 2015-02-24 22:48:14 +08:00
parent c5f3c550a6
commit 59bb1777be

View File

@ -464,17 +464,16 @@ static struct openssh_key *load_openssh_key(const char *filename)
goto error; goto error;
} }
memset(buffer, 0, sizeof(buffer)); m_burn(buffer, sizeof(buffer));
return ret; return ret;
error: error:
memset(buffer, 0, sizeof(buffer)); m_burn(buffer, sizeof(buffer));
if (ret) { if (ret) {
if (ret->keyblob) { if (ret->keyblob) {
memset(ret->keyblob, 0, ret->keyblob_size); m_burn(ret->keyblob, ret->keyblob_size);
m_free(ret->keyblob); m_free(ret->keyblob);
} }
memset(&ret, 0, sizeof(ret));
m_free(ret); m_free(ret);
} }
if (fp) { if (fp) {
@ -494,9 +493,8 @@ static int openssh_encrypted(const char *filename)
if (!key) if (!key)
return 0; return 0;
ret = key->encrypted; ret = key->encrypted;
memset(key->keyblob, 0, key->keyblob_size); m_burn(key->keyblob, key->keyblob_size);
m_free(key->keyblob); m_free(key->keyblob);
memset(&key, 0, sizeof(key));
m_free(key); m_free(key);
return ret; return ret;
} }