forked from Imagelibrary/binutils-gdb
Use KF_PATH to verify the size of a struct kinfo_file.
fbsd_core_vnode_path needs to use the offset of the kf_path member of struct kinfo_file as the minimum size of a struct kinfo_file object. However, it was using KVE_PATH instead due to a copy and paste bug. While here, fix another copy and paste bug in the error message for a truncated kinfo_file object. gdb/ChangeLog: * fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of KVE_PATH.
This commit is contained in:
@@ -781,13 +781,13 @@ fbsd_core_vnode_path (struct gdbarch *gdbarch, int fd)
|
||||
/* Skip over the structure size. */
|
||||
descdata += 4;
|
||||
|
||||
while (descdata + KVE_PATH < descend)
|
||||
while (descdata + KF_PATH < descend)
|
||||
{
|
||||
ULONGEST structsize;
|
||||
|
||||
structsize = bfd_get_32 (core_bfd, descdata + KF_STRUCTSIZE);
|
||||
if (structsize < KVE_PATH)
|
||||
error (_("malformed core note - vmmap entry too small"));
|
||||
if (structsize < KF_PATH)
|
||||
error (_("malformed core note - file structure too small"));
|
||||
|
||||
if (bfd_get_32 (core_bfd, descdata + KF_TYPE) == KINFO_FILE_TYPE_VNODE
|
||||
&& bfd_get_signed_32 (core_bfd, descdata + KF_FD) == fd)
|
||||
|
||||
Reference in New Issue
Block a user