]> ruderich.org/simon Gitweb - nsscash/nsscash.git/blobdiff - nss/gr.c
nss: improve comments
[nsscash/nsscash.git] / nss / gr.c
index cc7f9b0d3b428a48ffafb11b48f626fb3ba91d6a..db822094990c34044f6533c0f564ed9be90d36b6 100644 (file)
--- a/nss/gr.c
+++ b/nss/gr.c
@@ -35,7 +35,7 @@
 struct group_entry {
     uint64_t gid;
 
-    //       off_name = 0
+    //       off_name = 0, not stored on disk
     uint16_t off_passwd;
     uint16_t off_mem_off;
 
@@ -51,11 +51,12 @@ struct group_entry {
      *
      * All offsets are relative to the beginning of data.
      */
-    uint16_t data_size;
+    uint16_t data_size; // size of data in bytes
     const char data[];
 } __attribute__((packed));
 
 static bool entry_to_group(const struct group_entry *e, struct group *g, char *tmp, size_t space) {
+    // Space required for the gr_mem array
     const size_t mem_size = (size_t)(e->mem_count + 1) * sizeof(char *);
 
     if (space < e->data_size + mem_size) {
@@ -165,7 +166,7 @@ static enum nss_status internal_getgr(struct search_key *key, struct group *resu
         return NSS_STATUS_NOTFOUND;
     }
 
-    const char *e = h->data + h->off_data + *off;
+    const char *e = key->data + *off;
     if (!entry_to_group((struct group_entry *)e, result, buffer, buflen)) {
         unmap_file(&f);
         errno = ERANGE;