dload_buf->dload_type = cpu_to_le16(DL_TYPE_CLM);
        dload_buf->len = cpu_to_le32(len);
        dload_buf->crc = cpu_to_le32(0);
-       len = sizeof(*dload_buf) + len - 1;
+       len = sizeof(*dload_buf) + len;
 
        err = brcmf_fil_iovar_data_set(ifp, "clmload", dload_buf, len);
 
                return 0;
        }
 
-       chunk_buf = kzalloc(sizeof(*chunk_buf) + MAX_CHUNK_LEN - 1, GFP_KERNEL);
+       chunk_buf = kzalloc(sizeof(*chunk_buf) + MAX_CHUNK_LEN, GFP_KERNEL);
        if (!chunk_buf) {
                err = -ENOMEM;
                goto done;
 
        __le16 dload_type;
        __le32 len;
        __le32 crc;
-       u8 data[1];
+       u8 data[];
 };
 
 /**