Browse Source

Check for unused data when decoding

Evan Huus 12 years ago
parent
commit
8dca559f10
1 changed files with 10 additions and 1 deletions
  1. 10 1
      protocol/encoder_decoder.go

+ 10 - 1
protocol/encoder_decoder.go

@@ -37,5 +37,14 @@ func decode(buf []byte, in decoder) error {
 	}
 
 	helper := realDecoder{raw: buf}
-	return in.decode(&helper)
+	err := in.decode(&helper)
+	if err != nil {
+		return err
+	}
+
+	if helper.off != len(buf) {
+		return DecodingError("unused data")
+	}
+
+	return nil
 }