virThreadPoolNewFull: Prevent expanding worker pool by zero
virThreadPoolNewFull: Prevent expanding worker pool by zero

On libvirtd startup, the list of priority worker threads is uninitialized
(`pool->prioWorkers` is NULL), and then "expanded" to zero (`prioWorkers`)
entries.

This causes `virThreadPoolExpand` to call `VIR_EXPAND_N` on a null pointer
and an increment of zero. The zero increment triggers `virReallocN` to not
actually allocate any memory and leave the pointer NULL, which, eventually,
causes `memset(NULL, 0, 0)` to be called in `virExpandN`.

`memset` is declared `__attribute__ ((__nonnull__ 1))`, which triggers the
following warning when libvirt is compiled with address sanitizing enabled:

    $ meson -Dbuildtype=debug -Db_lundef=false -Db_sanitize=address,undefined
    build && ninja -C build
    $ ./build/run build/src/libvirtd
    src/util/viralloc.c:82:5: runtime error: null pointer passed as
    argument 1, which is declared to never be null

Signed-off-by: Tim Wiederhake <da93ee425e056cfcf1ddac9fc87851b25464abf4@redhat.com>
Reviewed-by: Michal Privoznik <83d82aaba2eed257f4814b0c239c260c4caaadf0@redhat.com>

zippy2/libvirt,olafhering/libvirt,olafhering/libvirt,libvirt/libvirt,olafhering/libvirt,crobinso/libvirt,nertpinx/libvirt,nertpinx/libvirt,nertpinx/libvirt,crobinso/libvirt,crobinso/libvirt,jfehlig/libvirt,jfehlig/libvirt,crobinso/libvirt,nertpinx/libvirt,zippy2/libvirt,libvirt/libvirt,jfehlig/libvirt,libvirt/libvirt,zippy2/libvirt,jfehlig/libvirt,libvirt/libvirt,nertpinx/libvirt,zippy2/libvirt,olafhering/libvirt