rem: size_t len;
context: char *group_from_gid(gid_t gid) {    struct grpbuf **g;    struct group *gr;    size_t len;    g = &grphash[HASH(gid)];    while (*g) {        if ((*g)->gid == gid)            return((*g)->name);        g = &(*g)->next;    }    *g = (struct grpbuf *) malloc(sizeof(struct grpbuf));    (*g)->gid = gid;    gr = getgrgid(gid);    len = gr ? strlen(gr) : 0;    if (len >= P_G_SZ)        sprintf((*g)->name, "%u", gid);    else        strcpy((*g)->name, gr->gr_name);    (*g)->next = NULL;    return((*g)->name);}