/*
* 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 */
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;
}
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;
}