demux/playlist: wpl: undefined-behavior on unexpected data
With attachment:use_after_free.wpl:
==4953==ERROR: AddressSanitizer: heap-use-after-free on address 0x60200001f390 at pc 0x7f8742fd3c93 bp 0x7f8723bcba80 sp 0x7f8723bcb228
READ of size 1 at 0x60200001f390 thread T4
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x7f8742fd3c92 in __interceptor_strcasecmp /build/gcc-multilib/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:280
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x7f87378ed908 in read_head /home/refp/work/videolan/vlc/git/modules/demux/playlist/wpl.c:48
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x7f87378ed908 in Demux /home/refp/work/videolan/vlc/git/modules/demux/playlist/wpl.c:150
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x7f874299e38c in demux_Demux /home/refp/work/videolan/vlc/git/include/vlc_demux.h:347
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x7f874299e38c in MainLoopDemux /home/refp/work/videolan/vlc/git/src/input/input.c:559
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x7f874299e38c in MainLoop /home/refp/work/videolan/vlc/git/src/input/input.c:705
[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x7f87429a295a in Run /home/refp/work/videolan/vlc/git/src/input/input.c:495
[#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x7f8741acd2e6 in start_thread (/usr/lib/libpthread.so.0+0x72e6)
[#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x7f874180e54e in clone (/usr/lib/libc.so.6+0xec54e)
There are many ways to make the demuxer go into an infinite loop, but the most simple is definitely the contents of (the attached) attachment:infinite_loop.wpl.