mirror of
https://github.com/yarrick/iodine.git
synced 2025-04-15 04:26:54 +02:00
Merge 899f529d0c
into 50caf2c45f
This commit is contained in:
commit
e2b2d5af18
1 changed files with 9 additions and 6 deletions
15
src/read.c
15
src/read.c
|
@ -158,7 +158,7 @@ int
|
|||
putname(char **buf, size_t buflen, const char *host)
|
||||
{
|
||||
char *word;
|
||||
int left;
|
||||
size_t left;
|
||||
char *h;
|
||||
char *p;
|
||||
|
||||
|
@ -167,18 +167,21 @@ putname(char **buf, size_t buflen, const char *host)
|
|||
p = *buf;
|
||||
|
||||
word = strtok(h, ".");
|
||||
size_t len_word = strlen(word);
|
||||
while(word) {
|
||||
if (strlen(word) > 63 || strlen(word) > left) {
|
||||
if (len_word > 63 || len_word > left) {
|
||||
free(h);
|
||||
return -1;
|
||||
}
|
||||
|
||||
left -= (strlen(word) + 1);
|
||||
*p++ = (char)strlen(word);
|
||||
memcpy(p, word, strlen(word));
|
||||
p += strlen(word);
|
||||
len_word = strlen(word);
|
||||
left -= len_word + 1;
|
||||
*p++ = (char)len_word;
|
||||
memcpy(p, word, len_word);
|
||||
p += len_word;
|
||||
|
||||
word = strtok(NULL, ".");
|
||||
len_word = strlen(word);
|
||||
}
|
||||
|
||||
*p++ = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue