Print this page
NEX-13218 Segfault in sun_fc library
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/sun_fc/common/FCHBAPort.cc
          +++ new/usr/src/lib/sun_fc/common/FCHBAPort.cc
↓ open down ↓ 815 lines elided ↑ open up ↑
 816  816                      sizeof (la_wwn_t));
 817  817  
 818  818              userMappings->entry[i].FcpId.FcpLun = 
 819  819                  mappings->entries[i].samLUN;
 820  820                  
 821  821              memcpy(userMappings->entry[i].LUID.buffer,
 822  822                      mappings->entries[i].guid,
 823  823                      sizeof (userMappings->entry[i].LUID.buffer));
 824  824          }
 825  825  
      826 +        if (!zeroLength) {
      827 +            i -= 1;
      828 +        }
 826  829          log.debug("Total mappings: %d %08x %08x",
 827  830              mappings->numLuns, mappings->entries[i].osLUN, mappings->entries[i].samLUN);
 828  831  
 829  832          // If everything is good, convert paths to sym-links
 830  833          if (mappings->numLuns > 0 && !zeroLength) {
 831  834              if (userMappings->NumberOfEntries >= mappings->numLuns) {
 832  835                  // User buffer is larger than needed. (All is good)
 833  836                  userMappings->NumberOfEntries = mappings->numLuns;
 834  837                  convertToShortNames(userMappings);
 835  838              } else {
↓ open down ↓ 432 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX