or Elf64 object, only that we are consistent in what bits feed the
hash so it comes out the same for the same file contents. */
{
- inline void process (const void *data, size_t size);
- inline void process (const void *data, size_t size)
- {
- rpmDigestUpdate(ctx, data, size);
- }
-
union
{
GElf_Ehdr ehdr;
goto bad;
if (elf64_xlatetom (&x, &x, dso->ehdr.e_ident[EI_DATA]) == NULL)
goto bad;
- process (x.d_buf, x.d_size);
+ rpmDigestUpdate(ctx, x.d_buf, x.d_size);
}
x.d_type = ELF_T_SHDR;
u.shdr.sh_offset = 0;
if (elf64_xlatetom (&x, &x, dso->ehdr.e_ident[EI_DATA]) == NULL)
goto bad;
- process (x.d_buf, x.d_size);
+ rpmDigestUpdate(ctx, x.d_buf, x.d_size);
if (u.shdr.sh_type != SHT_NOBITS)
{
Elf_Data *d = elf_rawdata (dso->scn[i], NULL);
if (d == NULL)
goto bad;
- process (d->d_buf, d->d_size);
+ rpmDigestUpdate(ctx, d->d_buf, d->d_size);
}
}
}