#ifndef MODUTILS_MODULE_H
static const int MODUTILS_MODULE_H = 1;
-#ident "$Id: insmod.c,v 1.59 2001/04/25 17:22:32 andersen Exp $"
+#ident "$Id: insmod.c,v 1.60 2001/04/26 19:29:58 andersen Exp $"
/* This file contains the structures used by the 2.0 and 2.1 kernels.
We do not use the kernel headers directly because we do not wish
#ifndef MODUTILS_OBJ_H
static const int MODUTILS_OBJ_H = 1;
-#ident "$Id: insmod.c,v 1.59 2001/04/25 17:22:32 andersen Exp $"
+#ident "$Id: insmod.c,v 1.60 2001/04/26 19:29:58 andersen Exp $"
/* The relocatable object is manipulated using elfin types. */
void *obj_extend_section(struct obj_section *sec, unsigned long more)
{
unsigned long oldsize = sec->header.sh_size;
- sec->contents = xrealloc(sec->contents, sec->header.sh_size += more);
+ if (more) {
+ sec->contents = xrealloc(sec->contents, sec->header.sh_size += more);
+ }
return sec->contents + oldsize;
}
tgt_long m_addr;
sec = obj_find_section(f, ".this");
+ if (!sec || !sec->contents) {
+ perror_msg_and_die("corrupt module %s?",m_name);
+ }
module = (struct new_module *) sec->contents;
m_addr = sec->header.sh_addr;
#ifndef MODUTILS_MODULE_H
static const int MODUTILS_MODULE_H = 1;
-#ident "$Id: insmod.c,v 1.59 2001/04/25 17:22:32 andersen Exp $"
+#ident "$Id: insmod.c,v 1.60 2001/04/26 19:29:58 andersen Exp $"
/* This file contains the structures used by the 2.0 and 2.1 kernels.
We do not use the kernel headers directly because we do not wish
#ifndef MODUTILS_OBJ_H
static const int MODUTILS_OBJ_H = 1;
-#ident "$Id: insmod.c,v 1.59 2001/04/25 17:22:32 andersen Exp $"
+#ident "$Id: insmod.c,v 1.60 2001/04/26 19:29:58 andersen Exp $"
/* The relocatable object is manipulated using elfin types. */
void *obj_extend_section(struct obj_section *sec, unsigned long more)
{
unsigned long oldsize = sec->header.sh_size;
- sec->contents = xrealloc(sec->contents, sec->header.sh_size += more);
+ if (more) {
+ sec->contents = xrealloc(sec->contents, sec->header.sh_size += more);
+ }
return sec->contents + oldsize;
}
tgt_long m_addr;
sec = obj_find_section(f, ".this");
+ if (!sec || !sec->contents) {
+ perror_msg_and_die("corrupt module %s?",m_name);
+ }
module = (struct new_module *) sec->contents;
m_addr = sec->header.sh_addr;