parser: improve error checks

master
Oliver Tonnhofer 2018-06-05 21:22:26 +02:00
parent 9c936d4b88
commit 8c526b0543
1 changed files with 6 additions and 2 deletions

View File

@ -46,8 +46,12 @@ func readBlobData(pos block) ([]byte, error) {
var blob = &osmpbf.Blob{}
blobData := make([]byte, pos.size)
file.Seek(pos.offset, 0)
io.ReadFull(file, blobData)
if _, err := file.Seek(pos.offset, 0); err != nil {
return nil, err
}
if n, err := io.ReadFull(file, blobData); n != int(pos.size) || err != nil {
return nil, newParserError("reading blob data", err)
}
err = proto.Unmarshal(blobData, blob)
if err != nil {
return nil, newParserError("unmarshaling blob", err)