aboutsummaryrefslogtreecommitdiff
path: root/mail/vpopmail/files/patch-vchangepw.c
diff options
context:
space:
mode:
authorPeter Pentchev <roam@FreeBSD.org>2006-10-05 11:49:17 +0000
committerPeter Pentchev <roam@FreeBSD.org>2006-10-05 11:49:17 +0000
commit215d42df82190ff033953b7973327265c1beda75 (patch)
tree495a98c1958cb11bb012f364490322006d5b3198 /mail/vpopmail/files/patch-vchangepw.c
parent1854c2ed1d8bd952e3d46e00e8296483ccf4f444 (diff)
downloadports-215d42df82190ff033953b7973327265c1beda75.tar.gz
ports-215d42df82190ff033953b7973327265c1beda75.zip
Notes
Diffstat (limited to 'mail/vpopmail/files/patch-vchangepw.c')
-rw-r--r--mail/vpopmail/files/patch-vchangepw.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/mail/vpopmail/files/patch-vchangepw.c b/mail/vpopmail/files/patch-vchangepw.c
new file mode 100644
index 000000000000..3e7d840d5ba5
--- /dev/null
+++ b/mail/vpopmail/files/patch-vchangepw.c
@@ -0,0 +1,31 @@
+diff -urN -x .svn ../../vendor/vpopmail/vchangepw.c ./vchangepw.c
+--- ../../vendor/vpopmail/vchangepw.c Wed Oct 4 13:19:16 2006
++++ ./vchangepw.c Wed Oct 4 15:44:20 2006
+@@ -35,7 +35,7 @@
+
+ int main(void)
+ {
+- int i;
++ int i, bad;
+ struct vqpasswd *vpw = NULL;
+ char Email[MAX_BUFF];
+ char User[MAX_BUFF];
+@@ -53,9 +53,15 @@
+
+ fputs("Please enter the email address: ", stdout);
+
+- fgets(Email, sizeof(Email), stdin);
+- i = strlen(Email) - 1;
+- if (Email[i] != '\n') {
++ bad = 0;
++ if (fgets(Email, sizeof(Email), stdin) == NULL) {
++ bad = 1;
++ } else {
++ i = strlen(Email) - 1;
++ if (i < 0 || (Email[i] != '\n' && Email[i] != '\r'))
++ bad = 1;
++ }
++ if (bad) {
+ puts("Error: email address too long");
+ return 3;
+ }