Comment 3 for bug 813210

Revision history for this message
Jose Plans (jplans) wrote :

== SRU Justification ==

* Impact: users needing to upgrade DELL server's firmware to version 3.0.0 on Ubuntu 10.04 LTS would not be able to do so due to parsing issue.

* Fix:
 The fix is a trivial parsing fix of one liner:
--
- ("biosVersion", ctypes.c_char * 3),
+ ("biosVersion", ctypes.c_uint8 * 3),
--

* Test case:
  How to reproduce:
     1. wget http://linux.dell.com/repo/firmware/bios-hdrs/system_bios_ven_0x1028_dev_0x0236_version_3.0.0/bios.hdr
     2. smbios-rbu-bios-update --hdr-info=bios.hdr

  Expected results:
     No error messages, and a proper parse output from the bios.
  Actual results:
     Python traceback.
--
Traceback (most recent call last):
  File "/usr/sbin/smbios-rbu-bios-update", line 185, in <module>
    sys.exit( main() )
  File "/usr/sbin/smbios-rbu-bios-update", line 138, in main
    dumpHdrFileInfo(h)
  File "<libsmbios_c._peak_util_decorators.rewrap wrapping libsmbios_c.rbu_hdr.dumpHdrFileInfo at 0x0184C6E0>", line 3, in dumpHdrFileInfo
  File "/usr/lib/python2.6/dist-packages/libsmbios_c/trace_decorator.py", line 98, in trace
    result = func(*args, **kw)
  File "/usr/lib/python2.6/dist-packages/libsmbios_c/rbu_hdr.py", line 43, in dumpHdrFileInfo
    print _("BIOS Version: %s") % hdr.biosVersion()
  File "<libsmbios_c._peak_util_decorators.rewrap wrapping libsmbios_c.rbu_hdr.biosVersion at 0x018A25F0>", line 3, in biosVersion
  File "/usr/lib/python2.6/dist-packages/libsmbios_c/trace_decorator.py", line 98, in trace
    result = func(*args, **kw)
  File "/usr/lib/python2.6/dist-packages/libsmbios_c/rbu_hdr.py", line 87, in biosVersion
    ver = "%d.%d.%d" % struct.unpack("BBB", self.hdr.biosVersion)
struct.error: unpack requires a string argument of length 3
--

* Regression potential: none.