diff --git a/bounce.c b/bounce.c
index 9ab0f1d..f8352a7 100644
--- a/bounce.c
+++ b/bounce.c
@@ -46,6 +46,7 @@
#include <time.h>
#include <tls.h>
#include <unistd.h>
+#include <crypt.h>
#ifndef SIGINFO
#define SIGINFO SIGUSR2
@@ -358,8 +359,8 @@ int main(int argc, char *argv[]) {
#endif
stateLogin(pass, blindReq, plain, nick, user, real);
- if (pass) explicit_bzero(pass, strlen(pass));
- if (plain) explicit_bzero(plain, strlen(plain));
+ if (pass) memset(pass, '\0', strlen(pass));
+ if (plain) memset(plain, '\0', strlen(plain));
while (!stateReady()) serverRecv();
serverFormat("AWAY :%s\r\n", clientAway);
diff --git a/client.c b/client.c
index 23cde36..16d439c 100644
--- a/client.c
+++ b/client.c
@@ -39,6 +39,7 @@
#include <time.h>
#include <tls.h>
#include <unistd.h>
+#include <crypt.h>
#include "bounce.h"
@@ -188,7 +189,7 @@ static void handlePass(struct Client *client, struct
Message *msg) {
#else
int error = strcmp(crypt(msg->params[0], clientPass), clientPass);
#endif
- explicit_bzero(msg->params[0], strlen(msg->params[0]));
+ memset(msg->params[0], '\0', strlen(msg->params[0]));
if (error) {
passRequired(client);
} else {
diff --git a/state.c b/state.c
index a28b3ba..c9505e1 100644
--- a/state.c
+++ b/state.c
@@ -70,7 +70,7 @@ void stateLogin(
if (!sep) errx(EX_USAGE, "SASL PLAIN missing colon");
*sep = 0;
base64(plainBase64, buf, len);
- explicit_bzero(buf, len);
: