if (!sctp_ssnmap_init(retval, in, out))
                goto fail_map;
 
-       retval->malloced = 1;
        SCTP_DBG_OBJCNT_INC(ssnmap);
 
        return retval;
 /* Dispose of a ssnmap.  */
 void sctp_ssnmap_free(struct sctp_ssnmap *map)
 {
-       if (map && map->malloced) {
-               int size;
-
-               size = sctp_ssnmap_size(map->in.len, map->out.len);
-               if (size <= KMALLOC_MAX_SIZE)
-                       kfree(map);
-               else
-                       free_pages((unsigned long)map, get_order(size));
-               SCTP_DBG_OBJCNT_DEC(ssnmap);
-       }
+       int size;
+
+       if (unlikely(!map))
+               return;
+
+       size = sctp_ssnmap_size(map->in.len, map->out.len);
+       if (size <= KMALLOC_MAX_SIZE)
+               kfree(map);
+       else
+               free_pages((unsigned long)map, get_order(size));
+
+       SCTP_DBG_OBJCNT_DEC(ssnmap);
 }