Print this page
NEX-16818 Add fksmbcl development tool
NEX-17264 SMB client test tp_smbutil_013 fails after NEX-14666
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
and: (fix ref leaks)

@@ -20,10 +20,12 @@
  */
 
 /*
  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
+ *
+ * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
  */
 
 /*
  * ACL API for smbfs
  */

@@ -81,19 +83,20 @@
         error = mb_init_sz(mbp, MAX_RAW_SD_SIZE);
         if (error)
                 return (error);
 
         m = mbp->mb_top;
+        bzero(&iocb, sizeof (iocb));
         iocb.addr = mtod(m, uintptr_t);
         iocb.alloc = m->m_maxlen;
         iocb.used = 0;
         iocb.selector = selector;
 
         /*
          * This does the OTW Get.
          */
-        if (ioctl(fd, SMBFSIO_GETSD, &iocb) < 0) {
+        if (nsmb_ioctl(fd, SMBFSIO_GETSD, &iocb) < 0) {
                 error = errno;
                 goto errout;
         }
 
         m->m_len = iocb.used;

@@ -118,19 +121,20 @@
                 return (error);
 
         if (mbp->mb_top != m)
                 mb_initm(mbp, m);
 
+        bzero(&iocb, sizeof (iocb));
         iocb.addr = mtod(m, uintptr_t);
         iocb.alloc = m->m_maxlen;
         iocb.used  = m->m_len;
         iocb.selector = selector;
 
         /*
          * This does the OTW Set.
          */
-        if (ioctl(fd, SMBFSIO_SETSD, &iocb) < 0)
+        if (nsmb_ioctl(fd, SMBFSIO_SETSD, &iocb) < 0)
                 error = errno;
 
         return (error);
 }