david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[dns] Ensure DNS names are NUL-terminated when used as diagnostic strings

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2017-09-07 12:17:18 +01:00
parent e8f30571a3
commit af02a8d071
1 changed files with 9 additions and 3 deletions

View File

@ -417,7 +417,7 @@ static const char * dns_name ( struct dns_name *name ) {
static char buf[256];
int len;
len = dns_decode ( name, buf, sizeof ( buf ) );
len = dns_decode ( name, buf, ( sizeof ( buf ) - 1 /* NUL */ ) );
return ( ( len < 0 ) ? "<INVALID>" : buf );
}
@ -877,10 +877,16 @@ static void dns_xfer_close ( struct dns_request *dns, int rc ) {
*/
static int dns_progress ( struct dns_request *dns,
struct job_progress *progress ) {
int len;
/* Show current question as progress message */
dns_decode ( &dns->name, progress->message,
sizeof ( progress->message ) );
len = dns_decode ( &dns->name, progress->message,
( sizeof ( progress->message ) - 1 /* NUL */ ) );
if ( len < 0 ) {
/* Ignore undecodable names */
progress->message[0] = '\0';
}
return 0;
}