diff --git a/src/zfs_arc.c b/src/zfs_arc.c
index 540a1db48683232c0cda930665d91cf08cfcd447..8feb31d55c0bfc75f571e0398edfef965e8fcc78 100644 (file)
--- a/src/zfs_arc.c
+++ b/src/zfs_arc.c
{
llentry_t *e;
llvalues = malloc(sizeof(long long int) * i);
+ if (llvalues == NULL)
+ {
+ ERROR ("zfs_arc plugin: `malloc' failed.");
+ llist_destroy (ksp);
+ return (-1);
+ }
int j = 0;
pnl = file_contents;
za_read_derive (ksp, "deleted", "cache_operation", "deleted");
#if __FreeBSD__
za_read_derive (ksp, "allocated","cache_operation", "allocated");
+#if defined(__FreeBSD_version) && (__FreeBSD_version < 1002501)
+ /* stolen removed from sysctl kstat.zfs.misc.arcstats on FreeBSD 10.2+ */
za_read_derive (ksp, "stolen", "cache_operation", "stolen");
+#endif
#endif
/* Issue indicators */