24 lines
661 B
Text
24 lines
661 B
Text
Index: openvpn_bsdauth.c
|
|
--- openvpn_bsdauth.c.orig
|
|
+++ openvpn_bsdauth.c
|
|
@@ -50,6 +50,11 @@ int main(int argc, char **argv) {
|
|
memset(username, 0, OPENVPN_USER_PASS_MAXLEN);
|
|
memset(password, 0, OPENVPN_USER_PASS_MAXLEN);
|
|
|
|
+ if (pledge("stdio rpath getpw proc exec", NULL) == -1) {
|
|
+ fprintf(stderr, "pledge\n");
|
|
+ exit(1);
|
|
+ }
|
|
+
|
|
uenv = getenv("username");
|
|
penv = getenv("password");
|
|
|
|
@@ -161,7 +166,7 @@ void logx(int exitval, int prio, const char *fmt, ...)
|
|
va_end(va);
|
|
|
|
memset(username, 0, OPENVPN_USER_PASS_MAXLEN);
|
|
- memset(password, 0, OPENVPN_USER_PASS_MAXLEN);
|
|
+ explicit_bzero(password, OPENVPN_USER_PASS_MAXLEN);
|
|
|
|
exit(exitval);
|
|
|