Skip to content

Commit 8085169

Browse files
authored
Merge pull request #238 from aidenfoxivey/master
Read only first two bytes to check signature
2 parents 5d83283 + fae0152 commit 8085169

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

lib/stackprof/report.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,14 @@ class Report
1010

1111
class << self
1212
def from_file(file)
13-
if (content = IO.binread(file)).start_with?(MARSHAL_SIGNATURE)
14-
new(Marshal.load(content))
15-
else
16-
from_json(JSON.parse(content))
13+
File.open(file, 'rb') do |f|
14+
signature_bytes = f.read(2)
15+
f.rewind
16+
if signature_bytes == MARSHAL_SIGNATURE
17+
new(Marshal.load(f))
18+
else
19+
from_json(JSON.parse(f.read))
20+
end
1721
end
1822
end
1923

0 commit comments

Comments
 (0)