mirror of
https://github.com/tailix/libkernaux.git
synced 2025-04-14 17:32:55 -04:00
Main: resolve FIXME
This commit is contained in:
parent
0332f66928
commit
56ec03fb71
2 changed files with 32 additions and 3 deletions
|
@ -279,9 +279,11 @@ bool KernAux_Multiboot2_ITag_ELFSymbols_is_valid(
|
|||
) {
|
||||
return (
|
||||
tag->base.type == KERNAUX_MULTIBOOT2_ITAG_ELF_SYMBOLS &&
|
||||
tag->base.size >= 16 // &&
|
||||
// FIXME: division by zero in real-world data?
|
||||
// (tag->base.size - 16) % tag->ent_size == 0
|
||||
tag->base.size >= 16 &&
|
||||
(
|
||||
tag->ent_size == 0 ||
|
||||
(tag->base.size - 16) % tag->ent_size == 0
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -522,6 +522,22 @@ tag_vbe_info_invalid_size = {
|
|||
.vbe_mode_info = {0, 0, 0},
|
||||
};
|
||||
|
||||
/******************
|
||||
* Tag_ELFSymbols *
|
||||
******************/
|
||||
|
||||
static const struct KernAux_Multiboot2_ITag_ELFSymbols
|
||||
tag_elf_symbols_with_zero_ent_size_valid = {
|
||||
.base = {
|
||||
.type = KERNAUX_MULTIBOOT2_ITAG_ELF_SYMBOLS,
|
||||
.size = 16,
|
||||
},
|
||||
.num = 0,
|
||||
.ent_size = 0,
|
||||
.shndx = 0,
|
||||
.reserved1 = 0,
|
||||
};
|
||||
|
||||
/**************
|
||||
* Multiboot2 *
|
||||
**************/
|
||||
|
@ -933,6 +949,10 @@ int main()
|
|||
&tag_vbe_info_invalid_size.base
|
||||
));
|
||||
|
||||
assert(KernAux_Multiboot2_ITagBase_is_valid(
|
||||
&tag_elf_symbols_with_zero_ent_size_valid.base
|
||||
));
|
||||
|
||||
// Tag_None
|
||||
|
||||
assert(KernAux_Multiboot2_ITag_None_is_valid(&tag_none_valid));
|
||||
|
@ -1095,5 +1115,12 @@ int main()
|
|||
&tag_vbe_info_invalid_size
|
||||
));
|
||||
|
||||
// Tag_ELFSymbols
|
||||
|
||||
|
||||
assert(KernAux_Multiboot2_ITag_ELFSymbols_is_valid(
|
||||
&tag_elf_symbols_with_zero_ent_size_valid
|
||||
));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue