loader: fix loading of kernels with . in path
The loader indended to search the kernel file name (only) for . but instead searched the entire path, so paths like "boot/test.elfv2/kernel" would not work. Submitted by: alfredo.junior_eldorado.org.br Reviewed by: kevans MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D19658
This commit is contained in:
parent
45d72c7d7f
commit
fe6ee08134
@ -868,14 +868,16 @@ fake_modname(const char *name)
|
||||
sp++;
|
||||
else
|
||||
sp = name;
|
||||
ep = strrchr(name, '.');
|
||||
if (ep) {
|
||||
if (ep == name) {
|
||||
sp = invalid_name;
|
||||
ep = invalid_name + sizeof(invalid_name) - 1;
|
||||
}
|
||||
} else
|
||||
ep = name + strlen(name);
|
||||
|
||||
ep = strrchr(sp, '.');
|
||||
if (ep == NULL) {
|
||||
ep = sp + strlen(sp);
|
||||
}
|
||||
if (ep == sp) {
|
||||
sp = invalid_name;
|
||||
ep = invalid_name + sizeof(invalid_name) - 1;
|
||||
}
|
||||
|
||||
len = ep - sp;
|
||||
fp = malloc(len + 1);
|
||||
if (fp == NULL)
|
||||
|
Loading…
x
Reference in New Issue
Block a user