summaryrefslogtreecommitdiffstats
path: root/src/dmidecode.c
diff options
context:
space:
mode:
authornima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-12-17 13:11:35 +0000
committernima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-12-17 13:11:35 +0000
commita08bb2a9c602a130471b3408fcf88745bc68a53d (patch)
treea6dd40a51d9c46740804bb96a4f4d2c2772d3822 /src/dmidecode.c
parent78c7237b805620d0b8275377fefa9b3ba8ff1954 (diff)
downloadpython-dmidecode-a08bb2a9c602a130471b3408fcf88745bc68a53d.tar.gz
python-dmidecode-a08bb2a9c602a130471b3408fcf88745bc68a53d.tar.xz
python-dmidecode-a08bb2a9c602a130471b3408fcf88745bc68a53d.zip
Handle chassis information records of size 19 (DMI type 3).
git-svn-id: svn://svn.autonomy.net.au/python-dmidecode@112 abc39116-655e-4be6-ad55-d661dc543056
Diffstat (limited to 'src/dmidecode.c')
-rw-r--r--src/dmidecode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dmidecode.c b/src/dmidecode.c
index 31129be..911a6b5 100644
--- a/src/dmidecode.c
+++ b/src/dmidecode.c
@@ -2914,7 +2914,7 @@ PyObject* dmi_decode(struct dmi_header *h, u16 ver) {
PyDict_SetItemString(caseData, "OEM Information", _val);
Py_DECREF(_val);
- if(h->length<0x15) break;
+ if(h->length<0x13) break;
_val = dmi_chassis_height(data[0x11]);
PyDict_SetItemString(caseData, "Height", _val);
Py_DECREF(_val);
@@ -2923,6 +2923,7 @@ PyObject* dmi_decode(struct dmi_header *h, u16 ver) {
PyDict_SetItemString(caseData, "Number Of Power Cords", _val);
Py_DECREF(_val);
+ if(h->length < 0x15) break;
if(h->length<0x15+data[0x13]*data[0x14]) break;
_val = dmi_chassis_elements(data[0x13], data[0x14], data+0x15);
PyDict_SetItemString(caseData, "Elements", _val);