summaryrefslogtreecommitdiff
path: root/debian/patches/100-out-of-bounds.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/100-out-of-bounds.patch')
-rw-r--r--debian/patches/100-out-of-bounds.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/debian/patches/100-out-of-bounds.patch b/debian/patches/100-out-of-bounds.patch
new file mode 100644
index 0000000..19ba67b
--- /dev/null
+++ b/debian/patches/100-out-of-bounds.patch
@@ -0,0 +1,61 @@
+Description: prevent out-of-bounds
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Forwarded: https://sourceforge.net/p/ipmiutil/mailman/ipmiutil-developers/?viewmonth=201410
+Last-Update: 2014-10-29
+---
+Index: trunk/util/ievents.c
+===================================================================
+--- trunk.orig/util/ievents.c
++++ trunk/util/ievents.c
+@@ -193,10 +193,10 @@ static const char *sensor_types[NSTYPES]
+ /* 2Eh */ "ME" /* 0xDC == ME Node Manager */
+ };
+
+-#define NFWERRS 15
++#define NFWERRS 14
+ static struct { /* See Table 36-3, type 0Fh, offset 00h */
+ int code; char *msg;
+- } fwerrs[NFWERRS] = {
++ } fwerrs[NFWERRS + 1] = {
+ { 0x00, "Unspecified"},
+ { 0x01, "No system memory"},
+ { 0x02, "No usable memory"},
+@@ -214,10 +214,10 @@ static struct { /* See Table 36-3, ty
+ { 0x0E, "Reserved" }
+ };
+
+-#define NFWSTAT 27
++#define NFWSTAT 26
+ static struct { /* See Table 36-3, type 0Fh, offset 01h & 02h */
+ int code; char *msg;
+- } fwstat[NFWSTAT] = {
++ } fwstat[NFWSTAT + 1] = {
+ { 0x00, "Unspecified"},
+ { 0x01, "Memory init"},
+ { 0x02, "Hard disk init"},
+Index: trunk/util/ifirewall.h
+===================================================================
+--- trunk.orig/util/ifirewall.h
++++ trunk/util/ifirewall.h
+@@ -82,7 +82,7 @@ struct lun_netfn_support {
+ };
+ struct lun_support {
+ unsigned char support;
+- struct lun_netfn_support netfn[MAX_NETFN_PAIR];
++ struct lun_netfn_support netfn[MAX_NETFN];
+ };
+ struct bmc_fn_support {
+ struct lun_support lun[MAX_LUN];
+Index: trunk/util/iconfig.c
+===================================================================
+--- trunk.orig/util/iconfig.c
++++ trunk/util/iconfig.c
+@@ -1765,7 +1765,7 @@ int SerialIsOptional(int bparam)
+ int optvals[9] = { 5, 9, 10, 11, 12, 13, 14, 20, 21 };
+ int rv = 0;
+ int i;
+- for (i = 0; i < sizeof(optvals); i++) {
++ for (i = 0; i < (sizeof(optvals) / sizeof(int)); i++) {
+ if (optvals[i] == bparam) { rv = 1; break; }
+ }
+ return(rv);