Print this page
NEX-9538 dladm_str2bw() does not reset errno which is checked after string conversion
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Alex Deiter <alex.deiter@nexenta.com>
Reviewed by: Jean McCormack <jean.mccormack@nexenta.com>
NEX-9184 libdladm/dlmgmtd should do a better link name validation
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Alex Deiter <alex.deiter@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libdladm/common/libdladm.c
          +++ new/usr/src/lib/libdladm/common/libdladm.c
↓ open down ↓ 488 lines elided ↑ open up ↑
 489  489          return (B_TRUE);
 490  490  }
 491  491  
 492  492  dladm_status_t
 493  493  dladm_str2bw(char *oarg, uint64_t *bw)
 494  494  {
 495  495          char            *endp = NULL;
 496  496          int64_t         n;
 497  497          int             mult = 1;
 498  498  
      499 +        errno = 0;
 499  500          n = strtoull(oarg, &endp, 10);
 500  501  
 501  502          if ((errno != 0) || (strlen(endp) > 1))
 502  503                  return (DLADM_STATUS_BADARG);
 503  504  
 504  505          if (n < 0)
 505  506                  return (DLADM_STATUS_BADVAL);
 506  507  
 507  508          switch (*endp) {
 508  509          case 'k':
↓ open down ↓ 769 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX