Unverified Commit 49aa8a63 authored by Henry's avatar Henry Committed by GitHub

common/compiler: json unmarshalling error checks (#25449)

complier/solidity:add json.Unmarshal err check
parent fea569f9
...@@ -66,13 +66,16 @@ func ParseCombinedJSON(combinedJSON []byte, source string, languageVersion strin ...@@ -66,13 +66,16 @@ func ParseCombinedJSON(combinedJSON []byte, source string, languageVersion strin
contracts := make(map[string]*Contract) contracts := make(map[string]*Contract)
for name, info := range output.Contracts { for name, info := range output.Contracts {
// Parse the individual compilation results. // Parse the individual compilation results.
var abi interface{} var abi, userdoc, devdoc interface{}
if err := json.Unmarshal([]byte(info.Abi), &abi); err != nil { if err := json.Unmarshal([]byte(info.Abi), &abi); err != nil {
return nil, fmt.Errorf("solc: error reading abi definition (%v)", err) return nil, fmt.Errorf("solc: error reading abi definition (%v)", err)
} }
var userdoc, devdoc interface{} if err := json.Unmarshal([]byte(info.Userdoc), &userdoc); err != nil {
json.Unmarshal([]byte(info.Userdoc), &userdoc) return nil, fmt.Errorf("solc: error reading userdoc definition (%v)", err)
json.Unmarshal([]byte(info.Devdoc), &devdoc) }
if err := json.Unmarshal([]byte(info.Devdoc), &devdoc); err != nil {
return nil, fmt.Errorf("solc: error reading devdoc definition (%v)", err)
}
contracts[name] = &Contract{ contracts[name] = &Contract{
Code: "0x" + info.Bin, Code: "0x" + info.Bin,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment