]> git.proxmox.com Git - mirror_smartmontools-debian.git/blobdiff - os_netbsd.cpp
Imported Upstream version 6.4+svn4214
[mirror_smartmontools-debian.git] / os_netbsd.cpp
index dce2d9d5a6a6a69f70ed478e9abbc74da4feb2e4..c76065c8b98c356c1242df16a75cf0a854ddd1fb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * os_netbsd.cpp
  *
- * Home page of code is: http://smartmontools.sourceforge.net
+ * Home page of code is: http://www.smartmontools.org
  *
  * Copyright (C) 2003-8 Sergey Svishchev <smartmontools-support@lists.sourceforge.net>
  *
 #include <errno.h>
 #include <unistd.h>
 
-const char * os_netbsd_cpp_cvsid = "$Id: os_netbsd.cpp 3806 2013-03-29 20:17:03Z chrfranke $"
+const char * os_netbsd_cpp_cvsid = "$Id: os_netbsd.cpp 4205 2016-01-22 15:22:53Z samm2 $"
   OS_NETBSD_H_CVSID;
 
 /* global variable holding byte count of allocated memory */
 extern long long bytes;
 
 enum warnings {
-  BAD_SMART, NO_3WARE, NO_ARECA, MAX_MSG
+  BAD_SMART, MAX_MSG
 };
 
 /* Utility function for printing warnings */
@@ -132,7 +132,14 @@ get_dev_names(char ***names, const char *prefix)
     n++;
   }
 
-  mp = (char **)realloc(mp, n * (sizeof(char *)));
+  void * tmp = (char **)realloc(mp, n * (sizeof(char *)));
+  if (NULL == tmp) {
+    pout("Out of memory constructing scan device list\n");
+    free(mp);
+    return -1;
+  }
+  else
+    mp = tmp;
   bytes += (n) * (sizeof(char *));
   *names = mp;
   return n;
@@ -320,7 +327,8 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
     return 0;
   }
 
-  if ((retval = ioctl(fd, ATAIOCCOMMAND, &req))) {
+  retval = ioctl(fd, ATAIOCCOMMAND, &req);
+  if (retval < 0) {
     perror("Failed command");
     return -1;
   }