From 750be17704654f93a16ef4fc36405ba3abb5f493 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Thu, 31 Oct 2019 17:45:02 -0400 Subject: Clear passwords from memory with memset_s --- bounce.c | 9 +++++++-- state.c | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/bounce.c b/bounce.c index aa1cecc..cc6b34f 100644 --- a/bounce.c +++ b/bounce.c @@ -14,6 +14,8 @@ * along with this program. If not, see . */ +#define __STDC_WANT_LIB_EXT1__ 1 + #include #include #include @@ -107,8 +109,8 @@ int main(int argc, char *argv[]) { bool insecure = false; const char *host = NULL; const char *port = "6697"; - const char *pass = NULL; - const char *auth = NULL; + char *pass = NULL; + char *auth = NULL; const char *nick = NULL; const char *user = NULL; const char *real = NULL; @@ -195,6 +197,9 @@ int main(int argc, char *argv[]) { int server = serverConnect(insecure, host, port); stateLogin(pass, auth, nick, user, real); + if (pass) memset_s(pass, strlen(pass), 0, strlen(pass)); + if (auth) memset_s(auth, strlen(auth), 0, strlen(auth)); + while (!stateReady()) serverRecv(); serverFormat("AWAY :%s\r\n", away); if (join) serverFormat("JOIN :%s\r\n", join); diff --git a/state.c b/state.c index 50afb26..37df845 100644 --- a/state.c +++ b/state.c @@ -14,6 +14,8 @@ * along with this program. If not, see . */ +#define __STDC_WANT_LIB_EXT1__ 1 + #include #include #include @@ -99,6 +101,7 @@ static void handleAuthenticate(struct Message *msg) { (void)msg; if (!plainBase64) errx(EX_PROTOCOL, "unsolicited AUTHENTICATE"); serverFormat("AUTHENTICATE %s\r\n", plainBase64); + memset_s(plainBase64, strlen(plainBase64), 0, strlen(plainBase64)); free(plainBase64); plainBase64 = NULL; } -- cgit 1.4.1 gi'/>
Commit message (Expand)Author
2018-04-09Replace #define with enum or const where possibleJune McEnroe
2018-03-31Link against ncursesJune McEnroe
2018-03-05Miscellaneous code cleanupJune McEnroe
2018-03-05Pass message structs by valueJune McEnroe
2018-03-05Use stdio in merge and metaJune McEnroe
2018-03-05Clean up spawn constantsJune McEnroe
2018-03-05Rename Tile timestamps {create,modify,access}TimeJune McEnroe
2018-03-05Pack message type enumsJune McEnroe
2018-03-05Undef COLOR_ constants in torus.hJune McEnroe
2018-03-05Generate tagsJune McEnroe
2017-10-03Simplify Makefile with pattern ruleJune McEnroe
2017-09-27Remove leading blank linesJune McEnroe
2017-09-27Add merge.c to READMEJune McEnroe
2017-09-03Assert client coords are valid after movementJune McEnroe
2017-09-03Relicense AGPLJune McEnroe
2017-09-01Revert "Add client readOnly mode"June McEnroe
2017-09-01Remove clientRemove call from clientCastJune McEnroe
2017-09-01Add client readOnly modeJune McEnroe
2017-08-31Clean up merge toolJune McEnroe
2017-08-31Choose B for tiles with equal modify timesJune McEnroe
2017-08-31Add quick data file merge toolJune McEnroe
2017-08-30Use only foreground color for selecting spawnJune McEnroe
2017-08-29Add four additional spawnsJune McEnroe
2017-08-28Add respawningJune McEnroe
2017-08-26Move license above includesJune McEnroe
2017-08-26Snapshot metadataJune McEnroe
2017-08-26Add meta.c to READMEJune McEnroe
2017-08-26Use MakefileJune McEnroe