From f8d88d430a8b6d0ed2355384f8262bb671fec507 Mon Sep 17 00:00:00 2001 From: Roopa Prabhu Date: Tue, 10 Aug 2010 18:55:10 +0000 Subject: [PATCH] --- yaml --- r: 213807 b: refs/heads/master c: 7c46835e4845fed5f348f5845a3a6165874e2f05 h: refs/heads/master i: 213805: 913a3b218c9368e1fff47f88fc6f6835d8e5bfbe 213803: ec0da4e955b60a1ebb3a91e1ad4be92f0675a664 213799: e7b9cf11e6c17b2386028c58f3ce662fd4014ff5 213791: f4b46c9f9e16ced2808771a279cee627f0666f00 v: v3 --- [refs] | 2 +- trunk/drivers/net/enic/vnic_vic.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 5b930682f7a1..cc9273d831fd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ae94abe1687871d9772494b3d378c6d3decd7f75 +refs/heads/master: 7c46835e4845fed5f348f5845a3a6165874e2f05 diff --git a/trunk/drivers/net/enic/vnic_vic.c b/trunk/drivers/net/enic/vnic_vic.c index 197c9d24af82..4725b79de0ef 100644 --- a/trunk/drivers/net/enic/vnic_vic.c +++ b/trunk/drivers/net/enic/vnic_vic.c @@ -54,8 +54,8 @@ int vic_provinfo_add_tlv(struct vic_provinfo *vp, u16 type, u16 length, if (!vp || !value) return -EINVAL; - if (ntohl(vp->length) + sizeof(*tlv) + length > - VIC_PROVINFO_MAX_TLV_DATA) + if (ntohl(vp->length) + offsetof(struct vic_provinfo_tlv, value) + + length > VIC_PROVINFO_MAX_TLV_DATA) return -ENOMEM; tlv = (struct vic_provinfo_tlv *)((u8 *)vp->tlv + @@ -66,7 +66,8 @@ int vic_provinfo_add_tlv(struct vic_provinfo *vp, u16 type, u16 length, memcpy(tlv->value, value, length); vp->num_tlvs = htonl(ntohl(vp->num_tlvs) + 1); - vp->length = htonl(ntohl(vp->length) + sizeof(*tlv) + length); + vp->length = htonl(ntohl(vp->length) + + offsetof(struct vic_provinfo_tlv, value) + length); return 0; }