1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-06-29 14:17:46 +02:00

don't allow newlines and tabs in nicks

This commit is contained in:
Jfreegman 2014-10-07 00:43:03 -04:00
parent 6492bd12f9
commit 1f2bd44dce
No known key found for this signature in database
GPG Key ID: 3627F3144076AE63
2 changed files with 12 additions and 8 deletions

View File

@ -188,7 +188,8 @@ int qsort_strcasecmp_hlpr(const void *str1, const void *str2)
- cannot be empty
- cannot start with a space
- must not contain a forward slash (for logfile naming purposes)
- must not contain contiguous spaces */
- must not contain contiguous spaces
- must not contain a newline or tab seqeunce */
int valid_nick(const char *nick)
{
if (!nick[0] || nick[0] == ' ')
@ -197,23 +198,25 @@ int valid_nick(const char *nick)
int i;
for (i = 0; nick[i]; ++i) {
if (nick[i] == ' ' && nick[i + 1] == ' ')
return 0;
if ((nick[i] == ' ' && nick[i + 1] == ' ')
|| nick[i] == '/'
|| nick[i] == '\n'
|| nick[i] == '\t'
|| nick[i] == '\r')
if (nick[i] == '/')
return 0;
}
return 1;
}
/* Converts all newline chars to spaces (use for strings that should be contained to a single line) */
/* Converts all newline/tab chars to spaces (use for strings that should be contained to a single line) */
void escape_newline_str(char *str, int len)
{
int i;
for (i = 0; i < len; ++i) {
if (str[i] == '\n' || str[i] == '\r')
if (str[i] == '\n' || str[i] == '\r' || str[i] == '\t')
str[i] = ' ';
}
}

View File

@ -87,10 +87,11 @@ int qsort_strcasecmp_hlpr(const void *str1, const void *str2);
- cannot be empty
- cannot start with a space
- must not contain a forward slash (for logfile naming purposes)
- must not contain contiguous spaces */
- must not contain contiguous spaces
- must not contain a newline or tab seqeunce */
int valid_nick(const char *nick);
/* Converts all newline chars to spaces (use for strings that should be contained to a single line) */
/* Converts all newline/tab chars to spaces (use for strings that should be contained to a single line) */
void escape_newline_str(char *str, int len);
/* gets base file name from path or original file name if no path is supplied */