brintos

brintos / llvm-project-archived public Read only

0
0
Text · 494 B · 7e1b8f1 Raw
30 lines · cpp
1// RUN: %clangxx -O0 -g %s -o %t && %run %t2 3#include <stdlib.h>4#include <unistd.h>5#include <grp.h>6 7int main(void) {8  gid_t *groups;9  group *root;10  int ngroups;11 12  ngroups = sysconf(_SC_NGROUPS_MAX);13  groups = (gid_t *)malloc(ngroups * sizeof(gid_t));14  if (!groups)15    exit(1);16 17  if (!(root = getgrnam("root")))18    exit(2);19 20  if (getgrouplist("root", root->gr_gid, groups, &ngroups) == -1)21    exit(3);22 23  if (groups && ngroups) {24    free(groups);25    exit(0);26  }27 28  return -1;29}30