summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr/src/cmd/sgs/elfedit/common/elfedit_machelf.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/usr/src/cmd/sgs/elfedit/common/elfedit_machelf.c b/usr/src/cmd/sgs/elfedit/common/elfedit_machelf.c
index 73653cd6e2..6abbc954fc 100644
--- a/usr/src/cmd/sgs/elfedit/common/elfedit_machelf.c
+++ b/usr/src/cmd/sgs/elfedit/common/elfedit_machelf.c
@@ -276,17 +276,20 @@ elfedit32_init_obj_state(const char *file, int fd, Elf *elf)
switch (_cache->sec_shdr->sh_type) {
case SHT_SYMTAB_SHNDX:
symtab = get_symtab(obj_state, _cache);
- symtab->symt_xshndx = ndx;
+ if (symtab != NULL)
+ symtab->symt_xshndx = ndx;
break;
case SHT_SUNW_syminfo:
symtab = get_symtab(obj_state, _cache);
- symtab->symt_syminfo = ndx;
+ if (symtab != NULL)
+ symtab->symt_syminfo = ndx;
break;
case SHT_SUNW_versym:
symtab = get_symtab(obj_state, _cache);
- symtab->symt_versym = ndx;
+ if (symtab != NULL)
+ symtab->symt_versym = ndx;
break;
}
}