aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/ld/data.c
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2013-09-04 13:26:49 -0700
committerIan Lance Taylor <iant@golang.org>2013-09-04 13:26:49 -0700
commitd011f0aa8945d2c72dc89e8229baf929efeaf8e3 (patch)
tree0f15cdd677625b5e8dd2cab04db7228e1af235f1 /src/cmd/ld/data.c
parent97d6a1e130b7b49e74769be7ab02536e06e71a55 (diff)
downloadgo-d011f0aa8945d2c72dc89e8229baf929efeaf8e3.tar.xz
cmd/ld: don't allocate unused garbage space in pclntab file table
Fixes #6319. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/13539043
Diffstat (limited to 'src/cmd/ld/data.c')
-rw-r--r--src/cmd/ld/data.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cmd/ld/data.c b/src/cmd/ld/data.c
index db2ac0f460..30d7c81856 100644
--- a/src/cmd/ld/data.c
+++ b/src/cmd/ld/data.c
@@ -376,6 +376,12 @@ symgrow(Sym *s, int32 siz)
if(s->np >= siz)
return;
+ if(s->np > s->maxp) {
+ cursym = s;
+ diag("corrupt symbol data: np=%lld > maxp=%lld", (vlong)s->np, (vlong)s->maxp);
+ errorexit();
+ }
+
if(s->maxp < siz) {
if(s->maxp == 0)
s->maxp = 8;