#
6209570e |
|
19-Oct-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
Replace usages of B_FILE_NOT_FOUND in public-facing APIs. As BeOS R5 had deprecated this error code, this should in theory not cause any particular problems.
|
#
16fca25e |
|
07-Dec-2019 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
runtime_loader: fix crash because of missing initialization The "versions" table is populated from two sources: the elf "needed_version" and "version_definitions" tables. Both populate specific index in the version table. Each index has an hash, and one or two strings. The algorithm to find data in this table is to compare by hash, and then do an strcmp on the strings when the hash matches. However, nothing guarantees that all the indices in the version array will be used. Indeed, libavutil does not use the first two. These were left uninitialized. It could happen that one of these would accidentally have its hash equal to one of the actual hashes we need to lookup, and invalid string pointers. This would of course lead to a crash. This was reproductible easily with WebKit when loading the fmpeg add-on. I guess that hit just the right allocation/deallocation pattern to make the runtime_loader reuse memory from a block where it had previously stored the same hash. Anyway, just clear the whole version table after allocating, so that unused entries have an hash of 0 and NULL string pointers, this way they can't accidentally trigger a hash collision and crash everything.
|
#
e3ac2588 |
|
25-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Changed runtime_loader to use elf_* typedefs over Elf32_*. This means that it will be using ELF64 types on x86_64 rather than ELF32. The next step for supporting x86_64 is to implement relocations.
|
#
25dc253d |
|
22-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Merged weak-symbols branch. * Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp * Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c533f813 |
|
27-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Normalized the FATAL messages. The image path is always printed, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30878 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b3f709b8 |
|
21-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed unused elf_version_info::hidden field. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30817 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
94830eb2 |
|
20-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved most code of the heavy elf.cpp into several smaller source files. * Some style cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30808 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e3ac2588e64059e0c140504e9acc8e73b3c36fdc |
|
25-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Changed runtime_loader to use elf_* typedefs over Elf32_*. This means that it will be using ELF64 types on x86_64 rather than ELF32. The next step for supporting x86_64 is to implement relocations.
|
#
25dc253d6ab28ce204fa4de2d3e7a27d167fc817 |
|
22-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Merged weak-symbols branch. * Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp * Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c533f813a2c1392f51f8a0f803ab41775817d530 |
|
27-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Normalized the FATAL messages. The image path is always printed, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30878 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b3f709b800464d923f26dfb4c9301b86e12b1fee |
|
21-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed unused elf_version_info::hidden field. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30817 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
94830eb226ce51bd1fd0143bad2538f788883e85 |
|
20-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved most code of the heavy elf.cpp into several smaller source files. * Some style cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30808 a95241bf-73f2-0310-859d-f6bbb57e9c96
|