[syslinux:elflink] module: Check for NULL ctors and dtors
syslinux-bot for Matt Fleming
matt.fleming at intel.com
Wed Jan 23 07:09:10 PST 2013
Commit-ID: 4027dbf9df88e3feaa3744c6622e4ae7cf8ecd6e
Gitweb: http://www.syslinux.org/commit/4027dbf9df88e3feaa3744c6622e4ae7cf8ecd6e
Author: Matt Fleming <matt.fleming at intel.com>
AuthorDate: Wed, 23 Jan 2013 13:40:24 +0000
Committer: Matt Fleming <matt.fleming at intel.com>
CommitDate: Wed, 23 Jan 2013 15:05:28 +0000
module: Check for NULL ctors and dtors
Don't dereference a NULL ctor/dtor as that can cause us to crash.
Signed-off-by: Matt Fleming <matt.fleming at intel.com>
---
com32/lib/sys/module/common.c | 2 +-
com32/lib/sys/module/elf_module.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/com32/lib/sys/module/common.c b/com32/lib/sys/module/common.c
index deb2bcc..8547036 100644
--- a/com32/lib/sys/module/common.c
+++ b/com32/lib/sys/module/common.c
@@ -425,7 +425,7 @@ int _module_unload(struct elf_module *module) {
int module_unload(struct elf_module *module) {
module_ctor_t *dtor;
- for (dtor = module->dtors; *dtor; dtor++)
+ for (dtor = module->dtors; dtor && *dtor; dtor++)
(*dtor) ();
return _module_unload(module);
diff --git a/com32/lib/sys/module/elf_module.c b/com32/lib/sys/module/elf_module.c
index c4e9d41..e61480f 100644
--- a/com32/lib/sys/module/elf_module.c
+++ b/com32/lib/sys/module/elf_module.c
@@ -604,7 +604,7 @@ int module_load(struct elf_module *module) {
(module->exit_func == NULL) ? NULL : *(module->exit_func));
*/
- for (ctor = module->ctors; *ctor; ctor++)
+ for (ctor = module->ctors; ctor && *ctor; ctor++)
(*ctor) ();
return 0;
More information about the Syslinux-commits
mailing list