I was experimenting with a Wine tree built with ASan enabled at PE side.
With it I tried to run the test suite, but every now and then I received a crash in wineserver.
Because the management structure for the ASan shadow makes each wine process using several gigabytes memory I had a taskmgr.exe running all the time.
I think this crash is a result of this taskmgr calling `NtQuerySystemInformation(SystemHandleInformation)` in conjunction with having many new processes created by the tests.
This patch leaves `enum_handles` early if the last member has still the value -1 from `alloc_handle_table`.
```
Program received signal SIGSEGV, Segmentation fault.
enum_handles (process=0x55ec0db97780, user=0x7ffce90cee30) at .../wine/wine/server/handle.c:846
846 if (!entry->ptr) continue;
1: x/i $pc
=> 0x55ec0b25ae6e <enum_handles+158>: cmpq $0x0,(%rdx)
(rr) bt
#0 enum_handles (process=0x55ec0db97780, user=0x7ffce90cee30) at .../wine/wine/server/handle.c:846
#1 0x000055ec0b268908 in enum_processes (cb=cb@entry=0x55ec0b25add0 <enum_handles>, user=user@entry=0x7ffce90cee30) at .../wine/wine/server/process.c:1112
#2 0x000055ec0b25c868 in req_get_system_handles (req=<optimized out>, reply=0x7ffce90cee90) at .../wine/wine/server/handle.c:875
#3 0x000055ec0b27d6eb in call_req_handler (thread=thread@entry=0x55ec0db62c10) at .../wine/wine/server/request.c:304
#4 0x000055ec0b27e62a in read_request (thread=thread@entry=0x55ec0db62c10) at .../wine/wine/server/request.c:338
#5 0x000055ec0b2896c0 in thread_poll_event (fd=<optimized out>, event=1) at .../wine/wine/server/thread.c:389
#6 0x000055ec0b2560b7 in fd_poll_event (event=<optimized out>, fd=<optimized out>) at .../wine/wine/server/fd.c:503
#7 main_loop_epoll () at .../wine/wine/server/fd.c:597
#8 0x000055ec0b25633e in main_loop () at .../wine/wine/server/fd.c:953
#9 0x000055ec0b246aa2 in main (argc=3, argv=0x7ffce90cf6c8) at .../wine/wine/server/main.c:238
(rr) print table->last
$38 = -1
(rr) print table->count
$39 = 32
```
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7035
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v2: windowscodecs/tests: Check persist options after Load().
windowscodecs/tests: Add loading tests for the writers.
windowscodecs/tests: Add some tests for metadata stream objects handling.
windowscodecs/tests: Add some tests for CreateMetadataWriter().
windowscodecs/tests: Add some tests for CreateMetadataWriterFromReader().
windowscodecs/tests: Added some tests for Exif and Gps IFDs embedded in App1 blob.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7033