Do recend check before realigning on strict alignment arches, as otherwise it was...
authorJakub Jelinek <jakub@redhat.com>
Wed, 31 Jan 2007 10:45:15 +0000 (10:45 +0000)
committerJakub Jelinek <jakub@redhat.com>
Wed, 31 Jan 2007 10:45:15 +0000 (10:45 +0000)
nscd/nscd_getserv_r.c

index 86242be..a725b1d 100644 (file)
@@ -122,6 +122,10 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
              retval = -2;
              goto out;
            }
+         if (__builtin_expect ((const char *) aliases_len
+                               + serv_resp.s_aliases_cnt * sizeof (uint32_t)
+                               > recend, 0))
+           goto out;
 
 #ifndef _STRING_ARCH_unaligned
          /* The aliases_len array in the mapped database might very
@@ -138,10 +142,6 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
                                    * sizeof (uint32_t));
            }
 #endif
-         if (__builtin_expect ((const char *) aliases_len
-                               + serv_resp.s_aliases_cnt * sizeof (uint32_t)
-                               > recend, 0))
-           goto out;
        }
     }