diff --git a/src/p_vmlinx.cpp b/src/p_vmlinx.cpp index 0a3ca42e..5c4b4c20 100644 --- a/src/p_vmlinx.cpp +++ b/src/p_vmlinx.cpp @@ -271,7 +271,8 @@ void PackVmlinuxBase::pack(OutputFile *fo) defineDecompressorSymbols(); defineFilterSymbols(linker, &ft); if (0x40==(0xf0 & ft.id)) { - linker->defineSymbol("filter_length", ph.u_len); // redefine + linker->defineSymbol("filter_length", ft.buf_len); // redefine + assert(ft.buf_len == ph.u_len); } relocateLoader(); diff --git a/src/p_vmlinz.cpp b/src/p_vmlinz.cpp index 4a1e1cf5..57a0a95d 100644 --- a/src/p_vmlinz.cpp +++ b/src/p_vmlinz.cpp @@ -445,7 +445,8 @@ void PackBvmlinuzI386::pack(OutputFile *fo) defineFilterSymbols(linker, &ft); if (0x40==(0xf0 & ft.id)) { - linker->defineSymbol("filter_length", ph.u_len); // redefine + linker->defineSymbol("filter_length", ft.buf_len); // redefine + assert(ft.buf_len == ph.u_len); } defineDecompressorSymbols(); linker->defineSymbol("original_entry", physical_start);