X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=nss%2Fgr.c;h=cc7f9b0d3b428a48ffafb11b48f626fb3ba91d6a;hb=959bf6db509da88477dc64d40cf04c4def91a7b3;hp=fbfd02fed3bdcdafcf1526e08d41de673a636a07;hpb=8d862d90f3530d340ef2b3f50973a8abcf9edf99;p=nsscash%2Fnsscash.git diff --git a/nss/gr.c b/nss/gr.c index fbfd02f..cc7f9b0 100644 --- a/nss/gr.c +++ b/nss/gr.c @@ -52,7 +52,7 @@ struct group_entry { * All offsets are relative to the beginning of data. */ uint16_t data_size; - char data[]; + const char data[]; } __attribute__((packed)); static bool entry_to_group(const struct group_entry *e, struct group *g, char *tmp, size_t space) { @@ -154,9 +154,9 @@ static enum nss_status internal_getgr(struct search_key *key, struct group *resu const struct header *h = f.header; key->data = h->data + h->off_data; - uint64_t off_index = (key->id != NULL) - ? h->off_id_index - : h->off_name_index; + uint64_t off_index = (key->name != NULL) + ? h->off_name_index + : h->off_id_index; uint64_t *off = search(key, h->data + off_index, h->count); if (off == NULL) { unmap_file(&f);