When looking for the ':' separator in the root path, don't go past
the terminating '\0'. Since the initialisation of rootpath in libstand/bootp.c may copy junk into the rest of the buffer, it was possible for the code to find a ':' after the '\0' and do the wrong thing. Reviewed by: ps MFC after: 1 week
This commit is contained in:
parent
a97024f7c6
commit
c83b0b621f
@ -286,10 +286,10 @@ pxe_open(struct open_file *f, ...)
|
||||
if (!rootpath[1])
|
||||
strcpy(rootpath, PXENFSROOTPATH);
|
||||
|
||||
for (i = 0; i < FNAME_SIZE; i++)
|
||||
for (i = 0; rootpath[i] != '\0' && i < FNAME_SIZE; i++)
|
||||
if (rootpath[i] == ':')
|
||||
break;
|
||||
if (i && i != FNAME_SIZE) {
|
||||
if (i && i != FNAME_SIZE && rootpath[i] == ':') {
|
||||
rootpath[i++] = '\0';
|
||||
if (inet_addr(&rootpath[0]) != INADDR_NONE)
|
||||
rootip.s_addr = inet_addr(&rootpath[0]);
|
||||
|
Loading…
Reference in New Issue
Block a user