$NetBSD: patch-bc,v 1.3 2011/12/16 11:05:24 asau Exp $ --- ../nsswitch/winbind_nss_netbsd.c.orig 2011-08-03 18:24:05.000000000 +0000 +++ ../nsswitch/winbind_nss_netbsd.c @@ -215,6 +215,7 @@ netbsdwinbind_getgroupmembership(void *n { int *result = va_arg(ap, int *); const char *uname = va_arg(ap, const char *); + gid_t bgid = va_arg(ap, gid_t); gid_t *groups = va_arg(ap, gid_t *); int maxgrp = va_arg(ap, int); int *groupc = va_arg(ap, int *); @@ -234,6 +235,12 @@ netbsdwinbind_getgroupmembership(void *n wblistv = (gid_t *)response.extra_data.data; wblistc = response.data.num_entries; + if (*groupc < maxgrp) /* add basegid */ + groups[*groupc] = bgid; + else + *result = -1; + (*groupc)++; + for (i = 0; i < wblistc; i++) { /* add winbind gids */ isdup = 0; /* skip duplicates */ for (dupc = 0; dupc < MIN(maxgrp, *groupc); dupc++) {