From 3093ecc3e5a18128a3cdf2b8c3ce202acd2e3226 Mon Sep 17 00:00:00 2001 From: jbjohnso Date: Wed, 30 Nov 2011 21:02:08 +0000 Subject: [PATCH] Do not attempt to even dump non-standard multirecord fields, they may not comply with spec git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11091 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT-server/lib/xcat/plugins/ipmi.pm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/xCAT-server/lib/xcat/plugins/ipmi.pm b/xCAT-server/lib/xcat/plugins/ipmi.pm index 6e81418c0..958c7b222 100644 --- a/xCAT-server/lib/xcat/plugins/ipmi.pm +++ b/xCAT-server/lib/xcat/plugins/ipmi.pm @@ -2310,12 +2310,15 @@ sub parsefru { my $last=0; $curridx=$bytes->[5]*8; my $currsize; - while (not $last) { - if ($bytes->[$curridx+1] & 128) { - $last=1; - } - $currsize=$bytes->[$curridx+2]; - push @{$fruhash->{extra}},$bytes->[$curridx..$curridx+4+$currsize-1]; + if ($bytes->[$curridx] <= 5) { #don't even try to parse unknown stuff + #some records don't comply to any SPEC + while (not $last) { + if ($bytes->[$curridx+1] & 128) { + $last=1; + } + $currsize=$bytes->[$curridx+2]; + push @{$fruhash->{extra}},$bytes->[$curridx..$curridx+4+$currsize-1]; + } } } return 0,$fruhash;