- And update for more spare space.

This commit is contained in:
W.C.A. Wijngaards 2020-01-08 12:58:07 +01:00
parent 5ae1544583
commit c4e199ecca
2 changed files with 5 additions and 5 deletions

View file

@ -3,7 +3,7 @@
- Fix out-of-bounds null-byte write in sldns_bget_token_par while - Fix out-of-bounds null-byte write in sldns_bget_token_par while
parsing type WKS, reported by Luis Merino from X41 D-Sec. parsing type WKS, reported by Luis Merino from X41 D-Sec.
- Updated sldns_bget_token_par fix for also space for the zero - Updated sldns_bget_token_par fix for also space for the zero
delimiter after the character. delimiter after the character. And update for more spare space.
6 January 2020: George 6 January 2020: George
- Downgrade compat/getentropy_solaris.c to version 1.4 from OpenBSD. - Downgrade compat/getentropy_solaris.c to version 1.4 from OpenBSD.

View file

@ -120,7 +120,7 @@ sldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit, int *l
if (line_nr) { if (line_nr) {
*line_nr = *line_nr + 1; *line_nr = *line_nr + 1;
} }
if (limit > 0 && (i+1 > limit || (size_t)(t-token)+1 > limit)) { if (limit > 0 && (i+1 >= limit || (size_t)(t-token)+1 >= limit)) {
*t = '\0'; *t = '\0';
return -1; return -1;
} }
@ -142,7 +142,7 @@ sldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit, int *l
i++; i++;
} }
/* is there space for the character and the zero after it */ /* is there space for the character and the zero after it */
if (limit > 0 && (i+1 > limit || (size_t)(t-token)+1 > limit)) { if (limit > 0 && (i+1 >= limit || (size_t)(t-token)+1 >= limit)) {
*t = '\0'; *t = '\0';
return -1; return -1;
} }
@ -328,7 +328,7 @@ sldns_bget_token_par(sldns_buffer *b, char *token, const char *delim,
/* do not write ' ' if we want to skip spaces */ /* do not write ' ' if we want to skip spaces */
if(!(skipw && (strchr(skipw, c)||strchr(skipw, ' ')))) { if(!(skipw && (strchr(skipw, c)||strchr(skipw, ' ')))) {
/* check for space for the space character and a zero delimiter after that. */ /* check for space for the space character and a zero delimiter after that. */
if (limit > 0 && (i+1 > limit || (size_t)(t-token)+1 > limit)) { if (limit > 0 && (i+1 >= limit || (size_t)(t-token)+1 >= limit)) {
*t = '\0'; *t = '\0';
return -1; return -1;
} }
@ -355,7 +355,7 @@ sldns_bget_token_par(sldns_buffer *b, char *token, const char *delim,
} }
i++; i++;
if (limit > 0 && (i+1 > limit || (size_t)(t-token)+1 > limit)) { if (limit > 0 && (i+1 >= limit || (size_t)(t-token)+1 >= limit)) {
*t = '\0'; *t = '\0';
return -1; return -1;
} }