IPMI: fix comparison in demangle_device_id
authorCorey Minyard <cminyard@mvista.com>
Mon, 29 Oct 2007 21:37:13 +0000 (14:37 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 30 Oct 2007 15:06:55 +0000 (08:06 -0700)
Coverity spotted some incorrect code in a recent change to the IPMI driver;
this patch make sure the data is really long enough to pull the
manufacturer id and product id out of a get device id message.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
Cc: Adrian Bunk <bunk@kernel.org>
Cc: Stian Jordet <liste@jordet.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/ipmi_smi.h

index 56ae438ae5105033b55a9576cb77d3f291cd9f40..6e8cec50338000c31748bd1a8e5d4b28e26820cf 100644 (file)
@@ -173,7 +173,7 @@ static inline int ipmi_demangle_device_id(const unsigned char *data,
        id->firmware_revision_2 = data[3];
        id->ipmi_version = data[4];
        id->additional_device_support = data[5];
-       if (data_len >= 6) {
+       if (data_len >= 11) {
                id->manufacturer_id = (data[6] | (data[7] << 8) |
                                       (data[8] << 16));
                id->product_id = data[9] | (data[10] << 8);