[gaim-migrate @ 10832]

Thu, 02 Sep 2004 19:45:15 +0000

author
Ethan Blanton <elb@pidgin.im>
date
Thu, 02 Sep 2004 19:45:15 +0000
changeset 9940
a83fc4fa9fbf
parent 9939
9a2960bb4600
child 9941
b6c61c68afc7

[gaim-migrate @ 10832]
datallah thinks we should prevent this possible trouble with long logfile names

src/util.c file | annotate | diff | comparison | revisions
--- a/src/util.c	Thu Sep 02 19:01:33 2004 +0000
+++ b/src/util.c	Thu Sep 02 19:45:15 2004 +0000
@@ -2883,10 +2883,12 @@
 
 	g_return_val_if_fail(str != NULL, NULL);
 
-	for (i = 0; i < strlen(str); i++) {
+	for (i = 0; i < strlen(str) && j < (BUF_LEN - 1); i++) {
 		if (isalnum(str[i]))
 			buf[j++] = str[i];
 		else {
+			if (j > (BUF_LEN - 4))
+				break;
 			sprintf(buf + j, "%%%02x", (unsigned char)str[i]);
 			j += 3;
 		}
@@ -3219,11 +3221,13 @@
 
 	g_return_val_if_fail(str != NULL, NULL);
 
-	for (i = 0; i < strlen(str); i++) {
+	for (i = 0; i < strlen(str) && j < (BUF_LEN - 1); i++) {
 		if (isalnum(str[i]) || str[i] == '@' || str[i] == '-' ||
 				str[i] == '_' || str[i] == '.' || str[i] == '#')
 			buf[j++] = str[i];
 		else {
+			if (j > (BUF_LEN - 4))
+				break;
 			sprintf(buf + j, "%%%02x", (unsigned char)str[i]);
 			j += 3;
 		}

mercurial