From: Peter Johnson Date: Sun, 4 Mar 2007 01:00:01 +0000 (-0000) Subject: Fix a couple of NULL pointer derefs. X-Git-Tag: v0.6.1~15^2~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=37436edcb4713e4e44fca4aceddda5163155cc9f;p=yasm Fix a couple of NULL pointer derefs. Found by: zzuf (http://sam.zoy.org/zzuf/) svn path=/trunk/yasm/; revision=1808 --- diff --git a/modules/objfmts/elf/elf-objfmt.c b/modules/objfmts/elf/elf-objfmt.c index c0ae8416..d239f057 100644 --- a/modules/objfmts/elf/elf-objfmt.c +++ b/modules/objfmts/elf/elf-objfmt.c @@ -1118,7 +1118,7 @@ dir_type(yasm_objfmt_elf *objfmt_elf, yasm_valparam *vp, unsigned long line) /* Pull new type from val */ vp = yasm_vps_next(vp); - if (vp->val) { + if (vp && vp->val) { if (yasm__strcasecmp(vp->val, "function") == 0) elf_sym_set_type(entry, STT_FUNC); else if (yasm__strcasecmp(vp->val, "object") == 0) @@ -1147,10 +1147,10 @@ dir_size(yasm_objfmt_elf *objfmt_elf, yasm_valparam *vp, unsigned long line) /* Pull new size from either param (expr) or val */ vp = yasm_vps_next(vp); - if (vp->param) { + if (vp && vp->param) { elf_sym_set_size(entry, vp->param); vp->param = NULL; - } else if (vp->val) + } else if (vp && vp->val) elf_sym_set_size(entry, yasm_expr_create_ident(yasm_expr_sym( yasm_symtab_use(objfmt_elf->symtab, vp->val, line)), line)); else