[Hurd] Fix deallocation after proc_getprocinfo call
2014-11-24 Samuel Thibault <samuel.thibault@ens-lyon.org> * gdb/gnu-nat.c (inf_validate_procinfo): Multiply the number of elements pi_len by the size of the elements before calling vm_deallocate. (inf_validate_task_sc): Likewise, and properly deallocate the noise array.
This commit is contained in:
parent
4c9e848275
commit
a441dfbc4e
2 changed files with 14 additions and 3 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2014-11-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||||
|
|
||||||
|
Pushed by Joel Brobecker <brobecker@adacore.com>
|
||||||
|
* gdb/gnu-nat.c (inf_validate_procinfo): Multiply the number of
|
||||||
|
elements pi_len by the size of the elements before calling
|
||||||
|
vm_deallocate.
|
||||||
|
(inf_validate_task_sc): Likewise, and properly deallocate the
|
||||||
|
noise array.
|
||||||
|
|
||||||
2014-11-23 Doug Evans <xdje42@gmail.com>
|
2014-11-23 Doug Evans <xdje42@gmail.com>
|
||||||
|
|
||||||
* gdbtypes.c (print_args): Renamed from print_arg_types. Print arg
|
* gdbtypes.c (print_args): Renamed from print_arg_types. Print arg
|
||||||
|
|
|
@ -804,7 +804,8 @@ inf_validate_procinfo (struct inf *inf)
|
||||||
inf->nomsg = !!(pi->state & PI_NOMSG);
|
inf->nomsg = !!(pi->state & PI_NOMSG);
|
||||||
if (inf->nomsg)
|
if (inf->nomsg)
|
||||||
inf->traced = !!(pi->state & PI_TRACED);
|
inf->traced = !!(pi->state & PI_TRACED);
|
||||||
vm_deallocate (mach_task_self (), (vm_address_t) pi, pi_len);
|
vm_deallocate (mach_task_self (), (vm_address_t) pi,
|
||||||
|
pi_len * sizeof (*(procinfo_t) 0));
|
||||||
if (noise_len > 0)
|
if (noise_len > 0)
|
||||||
vm_deallocate (mach_task_self (), (vm_address_t) noise, noise_len);
|
vm_deallocate (mach_task_self (), (vm_address_t) noise, noise_len);
|
||||||
}
|
}
|
||||||
|
@ -844,9 +845,10 @@ inf_validate_task_sc (struct inf *inf)
|
||||||
|
|
||||||
suspend_count = pi->taskinfo.suspend_count;
|
suspend_count = pi->taskinfo.suspend_count;
|
||||||
|
|
||||||
vm_deallocate (mach_task_self (), (vm_address_t) pi, pi_len);
|
vm_deallocate (mach_task_self (), (vm_address_t) pi,
|
||||||
|
pi_len * sizeof (*(procinfo_t) 0));
|
||||||
if (noise_len > 0)
|
if (noise_len > 0)
|
||||||
vm_deallocate (mach_task_self (), (vm_address_t) pi, pi_len);
|
vm_deallocate (mach_task_self (), (vm_address_t) noise, noise_len);
|
||||||
|
|
||||||
if (inf->task->cur_sc < suspend_count)
|
if (inf->task->cur_sc < suspend_count)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue