summaryrefslogtreecommitdiff
path: root/security/pam-mysql/files/patch-aa
blob: 6de3b98a6fdcfe2ee440feabd75b5e6820485344 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
--- pam_mysql.c.old	Sun Sep 24 02:26:17 2000
+++ pam_mysql.c	Sun Sep 24 02:42:23 2000
@@ -14,7 +14,6 @@
 #include <unistd.h>
 #include <syslog.h>
 #include <stdarg.h>
-#include <alloca.h>
 #include <string.h>
 
 #include <mysql/mysql.h>
@@ -332,40 +331,40 @@
 		}
 		strcpy (junk, argv[i]);
 		if ((strchr (junk, (int) '=') != NULL)) {
-			strncpy (mybuf, strtok (junk, "="), 255);
-			strncpy (myval, strtok (NULL, "="), 255);
+			strlcpy (mybuf, strtok (junk, "="), 255);
+			strlcpy (myval, strtok (NULL, "="), 255);
 			free (junk);
 			if (!strcasecmp ("host", mybuf)) {
-				strncpy (options.host, myval, 255);
+				strlcpy (options.host, myval, 255);
 				D (("host changed."));
 			} else if (!strcasecmp ("where", mybuf)) {
 				while ( (mj = strtok(NULL,"=")) != NULL )
 				{
-					strcat(myval, "=");
-					strcat(myval, mj);
+					strlcat(myval, "=", 255);
+					strlcat(myval, mj, 255);
 				}
-				strncpy (options.where, myval, 256);
+				strlcpy (options.where, myval, 256);
 				D (("where changed."));
 #ifdef DEBUG
 				syslog(LOG_ERR, "pam_mysql: where now is %s", options.where);
 #endif
 			} else if (!strcasecmp ("db", mybuf)) {
-				strncpy (options.database, myval, 16);
+				strlcpy (options.database, myval, 16);
 				D (("database changed."));
 			} else if (!strcasecmp ("user", mybuf)) {
-				strncpy (options.dbuser, myval, 16);
+				strlcpy (options.dbuser, myval, 16);
 				D (("dbuser changed."));
 			} else if (!strcasecmp ("passwd", mybuf)) {
-				strncpy (options.dbpasswd, myval, 16);
+				strlcpy (options.dbpasswd, myval, 16);
 				D (("dbpasswd changed."));
 			} else if (!strcasecmp ("table", mybuf)) {
-				strncpy (options.table, myval, 16);
+				strlcpy (options.table, myval, 16);
 				D (("table changed."));
 			} else if (!strcasecmp ("usercolumn", mybuf)) {
-				strncpy (options.usercolumn, myval, 16);
+				strlcpy (options.usercolumn, myval, 16);
 				D (("usercolumn changed."));
 			} else if (!strcasecmp ("passwdcolumn", mybuf)) {
-				strncpy (options.passwdcolumn, myval, 16);
+				strlcpy (options.passwdcolumn, myval, 16);
 				D (("passwdcolumn changed."));
 			} else if (!strcasecmp ("crypt", mybuf)) {
 				if ((!strcmp (myval, "1")) ||