Skip to content
Snippets Groups Projects

ntdll: Do not use find_subheap() to find the subheap corresponding to an uncommitted region.

Closed Elizabeth Figura requested to merge zfigura/wine:pr1 into master
1 unresolved thread

The commit end of a subheap may be equal to the beginning of another subheap, in which case find_subheap() will return that one, and we may effectively skip backwards in the subheap list.


There may be a more architecturally palatable way to solve this problem, but hopefully this is enough to at least demonstrate it.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • added 1 commit

    • 05362793 - ntdll: Do not use find_subheap() to find the subheap corresponding to an uncommitted region.

    Compare with previous version

    • Contributor

      Zebediah Figura replied on the mailing list:

      I didn't include a test with this because I don't think it's possible to 
      reliably trigger the condition. It relies on an allocated block 
      stretching to the end of a subheap (which I think it's possible to make 
      happen reliably, although it'd end up relying on internal heap details 
      to some degree) but also on two subsequent subheaps being allocated to 
      contiguous VM slices in reverse order.
      
      I'm able to consistently trigger it (on 32-bit) with the attached diff 
      to the heap tests, though._______________________________________________
      wine-gitlab mailing list -- wine-gitlab@winehq.org
      To unsubscribe send an email to wine-gitlab-leave@winehq.org
  • Elizabeth Figura requested review from @rbernon

    requested review from @rbernon

  • Rémi Bernon mentioned in merge request !523 (merged)

    mentioned in merge request !523 (merged)

Please register or sign in to reply
Loading