]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: pg_stat_t: throw exception on unknown encoding
authorSage Weil <sage@newdream.net>
Tue, 16 Aug 2011 23:37:20 +0000 (16:37 -0700)
committerSage Weil <sage@newdream.net>
Wed, 17 Aug 2011 16:16:27 +0000 (09:16 -0700)
This is better then decoding nonsense, eating ram, etc.

Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/osd_types.h

index ab07b1bb10e24350af467ba82299e4758d755d9b..997793c022ac7382ea2b37ea65b8186b5cb32544 100644 (file)
@@ -993,6 +993,8 @@ struct pg_stat_t {
   void decode(bufferlist::iterator &bl) {
     __u8 v;
     ::decode(v, bl);
+    if (v > 4)
+      throw buffer::malformed_input("unknown pg_stat_t encoding version > 4");
 
     ::decode(version, bl);
     ::decode(reported, bl);