projects
/
platform
/
upstream
/
elfutils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 0.160
[platform/upstream/elfutils.git]
/
libelf
/
gelf_update_symshndx.c
diff --git
a/libelf/gelf_update_symshndx.c
b/libelf/gelf_update_symshndx.c
index
d2bb5bb
..
5e2c7f7
100644
(file)
--- a/
libelf/gelf_update_symshndx.c
+++ b/
libelf/gelf_update_symshndx.c
@@
-1,6
+1,6
@@
/* Update symbol information and section index in symbol table at the
given index.
/* Update symbol information and section index in symbol table at the
given index.
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
+ Copyright (C) 2000, 2001, 2002
, 2005, 2009, 2014
Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
@@
-56,12
+56,6
@@
gelf_update_symshndx (symdata, shndxdata, ndx, src, srcshndx)
if (symdata == NULL)
return 0;
if (symdata == NULL)
return 0;
- if (unlikely (ndx < 0))
- {
- __libelf_seterrno (ELF_E_INVALID_INDEX);
- return 0;
- }
-
if (unlikely (symdata_scn->d.d_type != ELF_T_SYM))
{
/* The type of the data better should match. */
if (unlikely (symdata_scn->d.d_type != ELF_T_SYM))
{
/* The type of the data better should match. */
@@
-107,7
+101,7
@@
gelf_update_symshndx (symdata, shndxdata, ndx, src, srcshndx)
}
/* Check whether we have to resize the data buffer. */
}
/* Check whether we have to resize the data buffer. */
- if (
unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata_scn->d.d_size
))
+ if (
INVALID_NDX (ndx, Elf32_Sym, &symdata_scn->d
))
{
__libelf_seterrno (ELF_E_INVALID_INDEX);
goto out;
{
__libelf_seterrno (ELF_E_INVALID_INDEX);
goto out;
@@
-130,7
+124,7
@@
gelf_update_symshndx (symdata, shndxdata, ndx, src, srcshndx)
else
{
/* Check whether we have to resize the data buffer. */
else
{
/* Check whether we have to resize the data buffer. */
- if (
unlikely ((ndx + 1) * sizeof (Elf64_Sym) > symdata_scn->d.d_size
))
+ if (
INVALID_NDX (ndx, Elf64_Sym, &symdata_scn->d
))
{
__libelf_seterrno (ELF_E_INVALID_INDEX);
goto out;
{
__libelf_seterrno (ELF_E_INVALID_INDEX);
goto out;