elflint: Pull left() in file scope
authorTimm Bäder <tbaeder@redhat.com>
Wed, 17 Feb 2021 08:42:19 +0000 (09:42 +0100)
committerMark Wielaard <mark@klomp.org>
Mon, 1 Mar 2021 16:27:08 +0000 (17:27 +0100)
And rename it to buffer_left() to be a bit more descriptive

Signed-off-by: Timm Bäder <tbaeder@redhat.com>
src/ChangeLog
src/elflint.c

index 62c5890..065fdd5 100644 (file)
@@ -1,5 +1,11 @@
 2021-02-17  Timm Bäder  <tbaeder@redhat.com>
 
+       * elflint.c (check_attributes): Rename and move left function...
+       (buffer_left): ...as static toplevel function taking both an
+       Elf_Data pointer argument and the unsigned char pointer p.
+
+2021-02-17  Timm Bäder  <tbaeder@redhat.com>
+
        * elflint.c (check_attributes): Rename and move pos function...
        (buffer_pos): ...as static toplevel function taking an extra
        Elf_Data pointer argument.
index 4df6f6e..85cc783 100644 (file)
@@ -3434,6 +3434,12 @@ buffer_pos (Elf_Data *data, const unsigned char *p)
   return p - (const unsigned char *) data->d_buf;
 }
 
+inline size_t
+buffer_left (Elf_Data *data, const unsigned char *p)
+{
+  return (const unsigned char *) data->d_buf + data->d_size - p;
+}
+
 static void
 check_attributes (Ebl *ebl, GElf_Ehdr *ehdr, GElf_Shdr *shdr, int idx)
 {
@@ -3460,12 +3466,7 @@ check_attributes (Ebl *ebl, GElf_Ehdr *ehdr, GElf_Shdr *shdr, int idx)
       return;
     }
 
-  inline size_t left (void)
-  {
-    return (const unsigned char *) data->d_buf + data->d_size - p;
-  }
-
-  while (left () >= 4)
+  while (buffer_left (data, p) >= 4)
     {
       uint32_t len;
       memcpy (&len, p, sizeof len);
@@ -3478,7 +3479,7 @@ section [%2d] '%s': offset %zu: zero length field in attribute section\n"),
       if (MY_ELFDATA != ehdr->e_ident[EI_DATA])
        CONVERT (len);
 
-      if (len > left ())
+      if (len > buffer_left (data, p))
        {
          ERROR (_("\
 section [%2d] '%s': offset %zu: invalid length in attribute section\n"),
@@ -3614,7 +3615,7 @@ section [%2d] '%s': offset %zu: vendor '%s' unknown\n"),
               idx, section_name (ebl, idx), buffer_pos (data, p), name);
     }
 
-  if (left () != 0)
+  if (buffer_left (data, p) != 0)
     ERROR (_("\
 section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"),
           idx, section_name (ebl, idx), buffer_pos (data, p));