fix igmp deserialization issue

Change-Id: I38c37a6114957414ba4e13a690cd478b1116ef2c
diff --git a/utils/misc/src/main/java/org/onlab/packet/IGMPMembership.java b/utils/misc/src/main/java/org/onlab/packet/IGMPMembership.java
index d5eb2d8..b44aa09 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IGMPMembership.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IGMPMembership.java
@@ -102,9 +102,10 @@
 
         gaddr = Ip4Address.valueOf(bb.getInt());
 
-        // Make sure we have enough buffer to hold all of these sources
-        checkBufferLength(bb.remaining(), 0, Ip4Address.BYTE_LENGTH * nsrcs);
+
         for (; nsrcs > 0; nsrcs--) {
+            // Make sure we have enough buffer to hold all of these sources
+            checkBufferLength(bb.remaining(), 0, Ip4Address.BYTE_LENGTH * nsrcs);
             Ip4Address src = Ip4Address.valueOf(bb.getInt());
             this.sources.add(src);
         }