diff options
author | Patrick Mooney <patrick.f.mooney@gmail.com> | 2015-03-16 15:14:31 +0000 |
---|---|---|
committer | Patrick Mooney <patrick.f.mooney@gmail.com> | 2015-03-16 16:40:41 +0000 |
commit | 2feca3be7594e7863a5b43647123ce14f8cdc7b5 (patch) | |
tree | 208a89696eec56e835a6246898da0214cacfe113 /usr/src/lib/libproc/common | |
parent | f7ea4da938aa53876e4566a132d9d832326ad270 (diff) | |
download | illumos-joyent-2feca3be7594e7863a5b43647123ce14f8cdc7b5.tar.gz |
OS-4050 libproc reads .gnu_debuglink padding incorrectly
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Diffstat (limited to 'usr/src/lib/libproc/common')
-rw-r--r-- | usr/src/lib/libproc/common/Psymtab.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/usr/src/lib/libproc/common/Psymtab.c b/usr/src/lib/libproc/common/Psymtab.c index 41f41f3dde..a3e0d07ae2 100644 --- a/usr/src/lib/libproc/common/Psymtab.c +++ b/usr/src/lib/libproc/common/Psymtab.c @@ -2025,10 +2025,12 @@ Pbuild_file_symtab(struct ps_prochandle *P, file_info_t *fptr) * file. If we don't see this, we're going to * assume this is bogus. */ - if ((i % sizeof (uint32_t)) == 0) + if ((i % sizeof (uint32_t)) == 0) { i += 4; - else - i += i % sizeof (uint32_t); + } else { + i += sizeof (uint32_t) - + (i % sizeof (uint32_t)); + } if (i + sizeof (uint32_t) == dbglink->c_data->d_size) { found = B_TRUE; |