|
From: <np...@us...> - 2007-02-01 17:45:25
|
Revision: 430
http://svn.sourceforge.net/omc/?rev=430&view=rev
Author: npaxton
Date: 2007-02-01 09:45:21 -0800 (Thu, 01 Feb 2007)
Log Message:
-----------
fix ipmi crash
Modified Paths:
--------------
smash/branches/1.0/src/lib/omc-ipmi/IpmiIfcFru.cpp
Modified: smash/branches/1.0/src/lib/omc-ipmi/IpmiIfcFru.cpp
===================================================================
--- smash/branches/1.0/src/lib/omc-ipmi/IpmiIfcFru.cpp 2007-01-29 23:32:37 UTC (rev 429)
+++ smash/branches/1.0/src/lib/omc-ipmi/IpmiIfcFru.cpp 2007-02-01 17:45:21 UTC (rev 430)
@@ -286,7 +286,8 @@
IpmiIfcFruInstantiateAll(ipmi_drv *drv)
{
ipmiifc_sdr_list *sdr;
-
+ int cc = 0;
+
UInt32 saveAddress = drv->target_addr;
UInt8 saveLun = drv->target_lun;
UInt8 saveChannel = drv->target_channel;
@@ -311,7 +312,6 @@
for (int retries=5;retries;retries-- )
{
- int cc;
cc=IpmiIfcFruGetInv(drv, sdr->record.fruloc->device_id);
if (cc==0xc3) // retry if timeout
{
@@ -320,16 +320,20 @@
}
break;
}
- IpmiFruOptionalRefArray optRefArray = IpmiIfcFruParseOptional();
+
+ if(cc == 0)
+ {
+ IpmiFruOptionalRefArray optRefArray = IpmiIfcFruParseOptional();
- IpmiFruRef sref;
- sref = new IpmiFru((int)sdr->length,
- (unsigned char *)sdr->record.full);
- sref->setOptionalRefArray(optRefArray);
- IpmiFruOptionalRefArray tmpRefArray;
- tmpRefArray = sref->getOptionalRefArray();
+ IpmiFruRef sref;
+ sref = new IpmiFru((int)sdr->length,
+ (unsigned char *)sdr->record.full);
+ sref->setOptionalRefArray(optRefArray);
+ IpmiFruOptionalRefArray tmpRefArray;
+ tmpRefArray = sref->getOptionalRefArray();
- g_fruArray.append(sref);
+ g_fruArray.append(sref);
+ }
}
drv->target_addr = saveAddress;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|