Mercurial > pidgin
changeset 9940:77a9f7e5516c
[gaim-migrate @ 10832]
datallah thinks we should prevent this possible trouble with long logfile names
committer: Tailor Script <tailor@pidgin.im>
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Thu, 02 Sep 2004 19:45:15 +0000 |
parents | acbbc0d73600 |
children | 426b623ffe16 |
files | src/util.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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; }