aboutsummaryrefslogtreecommitdiff
path: root/src/debug
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug')
-rw-r--r--src/debug/macho/file.go15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/debug/macho/file.go b/src/debug/macho/file.go
index b57dba8496..e6b170a7cd 100644
--- a/src/debug/macho/file.go
+++ b/src/debug/macho/file.go
@@ -13,6 +13,7 @@ import (
"debug/dwarf"
"encoding/binary"
"fmt"
+ "internal/saferio"
"io"
"os"
"strings"
@@ -73,12 +74,7 @@ type Segment struct {
// Data reads and returns the contents of the segment.
func (s *Segment) Data() ([]byte, error) {
- dat := make([]byte, s.sr.Size())
- n, err := s.sr.ReadAt(dat, 0)
- if n == len(dat) {
- err = nil
- }
- return dat[0:n], err
+ return saferio.ReadDataAt(s.sr, s.Filesz, 0)
}
// Open returns a new ReadSeeker reading the segment.
@@ -126,12 +122,7 @@ type Section struct {
// Data reads and returns the contents of the Mach-O section.
func (s *Section) Data() ([]byte, error) {
- dat := make([]byte, s.sr.Size())
- n, err := s.sr.ReadAt(dat, 0)
- if n == len(dat) {
- err = nil
- }
- return dat[0:n], err
+ return saferio.ReadDataAt(s.sr, s.Size, 0)
}
// Open returns a new ReadSeeker reading the Mach-O section.