]> git.proxmox.com Git - mirror_smartmontools-debian.git/blobdiff - os_openbsd.cpp
Imported Upstream version 6.5+svn4324
[mirror_smartmontools-debian.git] / os_openbsd.cpp
index 896b88d11be42afde167dbe1c3f795ad113e415e..1ddef187571ae817d3b9986de4e4a722dee5026b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * os_openbsd.c
  *
- * Home page of code is: http://smartmontools.sourceforge.net
+ * Home page of code is: http://www.smartmontools.org
  *
  * Copyright (C) 2004-10 David Snyder <smartmontools-support@lists.sourceforge.net>
  *
 
 #include <errno.h>
 
-const char * os_openbsd_cpp_cvsid = "$Id: os_openbsd.cpp 3727 2012-12-13 17:23:06Z samm2 $"
+const char * os_openbsd_cpp_cvsid = "$Id: os_openbsd.cpp 4321 2016-05-10 13:43:10Z chrfranke $"
   OS_OPENBSD_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,12 +129,17 @@ get_dev_names(char ***names, const char *prefix)
       return -1;
     }
     sprintf(mp[n], "%s%s%c", net_dev_prefix, p, 'a' + getrawpartition());
-    bytes += strlen(mp[n]) + 1;
     n++;
   }
 
-  mp = (char **)realloc(mp, n * (sizeof(char *)));
-  bytes += (n) * (sizeof(char *));
+  char ** 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;
   *names = mp;
   return n;
 }
@@ -316,7 +318,8 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
 
     unsigned const short normal = WDSMART_CYL, failed = 0x2cf4;
 
-    if ((retval = ioctl(fd, ATAIOCCOMMAND, &req))) {
+    retval = ioctl(fd, ATAIOCCOMMAND, &req);
+    if (retval < 0) {
       perror("Failed command");
       return -1;
     }