]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: fix off-by-1 error in findShlibSection
authorCherry Zhang <cherryyz@google.com>
Mon, 1 Feb 2021 21:46:49 +0000 (16:46 -0500)
committerCherry Zhang <cherryyz@google.com>
Tue, 2 Feb 2021 15:59:11 +0000 (15:59 +0000)
We want to find a section that contains addr. sect.Addr+sect.Size
is the exclusive upper bound.

Change-Id: If2cd6bdd6e03174680e066189b0f4bf9e2ba6630
Reviewed-on: https://go-review.googlesource.com/c/go/+/288592
Trust: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
src/cmd/link/internal/ld/decodesym.go

index c6e2d8ca7fc9ceda261b854e447ed9181fdd0c98..fc179fc6e44109e28134070ae122d3f93fa0de01 100644 (file)
@@ -279,7 +279,7 @@ func findShlibSection(ctxt *Link, path string, addr uint64) *elf.Section {
        for _, shlib := range ctxt.Shlibs {
                if shlib.Path == path {
                        for _, sect := range shlib.File.Sections[1:] { // skip the NULL section
-                               if sect.Addr <= addr && addr <= sect.Addr+sect.Size {
+                               if sect.Addr <= addr && addr < sect.Addr+sect.Size {
                                        return sect
                                }
                        }