diff options
author | miod <miod@openbsd.org> | 2013-01-29 22:39:06 +0000 |
---|---|---|
committer | miod <miod@openbsd.org> | 2013-01-29 22:39:06 +0000 |
commit | 106d15258587e01def2ecd6d915232ee598d4208 (patch) | |
tree | 4729f5fb7053c87b58fe3006f4ad88ba155c064e /usr.sbin/kvm_mkdb | |
parent | sync (diff) | |
download | wireguard-openbsd-106d15258587e01def2ecd6d915232ee598d4208.tar.xz wireguard-openbsd-106d15258587e01def2ecd6d915232ee598d4208.zip |
Allow for a kernel linked at address zero; ok guenther@ millert@
Diffstat (limited to 'usr.sbin/kvm_mkdb')
-rw-r--r-- | usr.sbin/kvm_mkdb/nlist.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.sbin/kvm_mkdb/nlist.c b/usr.sbin/kvm_mkdb/nlist.c index 0cdfe94b26c..267a2bda9b0 100644 --- a/usr.sbin/kvm_mkdb/nlist.c +++ b/usr.sbin/kvm_mkdb/nlist.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nlist.c,v 1.40 2012/04/06 18:06:40 deraadt Exp $ */ +/* $OpenBSD: nlist.c,v 1.41 2013/01/29 22:39:06 miod Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -333,7 +333,8 @@ __elf_knlist(int fd, DB *db, int ksyms) goto done; } - symstrsize = symsize = kernvma = 0; + symstrsize = symsize = 0; + kernvma = (u_long)-1; /* 0 is a valid value (at least on hp300) */ for (i = 0; i < eh.e_shnum; i++) { if (sh[i].sh_type == SHT_STRTAB) { for (j = 0; j < eh.e_shnum; j++) @@ -352,7 +353,7 @@ __elf_knlist(int fd, DB *db, int ksyms) } } - if (!symstrsize || !symsize || !kernvma) { + if (symstrsize == 0 || symsize == 0 || kernvma == (u_long)-1) { fmterr = "corrupt file"; error = -1; goto done; |