Index: src/util.c
--- src/util.c.orig
+++ src/util.c
@@ -37,6 +37,9 @@
 static gchar *
 get_cmdline_of_pid (GPid pid)
 {
+#ifdef __OpenBSD__
+        return NULL;
+#else
         gchar *ret;
         g_autofree gchar *filename = NULL;
         g_autofree gchar *contents = NULL;
@@ -65,6 +68,7 @@ get_cmdline_of_pid (GPid pid)
         ret = g_strdup (contents);
         g_strstrip (ret);
         return ret;
+#endif
 }
 
 static gboolean
@@ -214,7 +218,12 @@ get_user_groups (const gchar *user,
         *groups = g_new (gid_t, ngroups);
         res = getgrouplist (user, group, *groups, &ngroups);
 
-        return res;
+        /* Both Linux and BSD put the number of groups found in
+         * ngroups, but Linux also returns that number if the groups
+         * fit, whereas BSD returns 0. */
+        if (res == -1)
+                return res;
+        return ngroups;
 }
 
 /**
