virCHMonitorGetIOThreads returns an int, not size_t.
Also return early if it's negative, because promoting it to
an unsigned type in the for loop condition could lead to
an infinte loop.
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
virCHDomainObjPrivate *priv = vm->privateData;
virDomainIOThreadInfo **iothreads = NULL;
size_t i;
- size_t niothreads;
+ int niothreads;
+
+ if ((niothreads = virCHMonitorGetIOThreads(priv->monitor, &iothreads)) < 0)
+ return -1;
- niothreads = virCHMonitorGetIOThreads(priv->monitor, &iothreads);
for (i = 0; i < niothreads; i++) {
VIR_DEBUG("IOThread index = %ld , tid = %d", i, iothreads[i]->iothread_id);
if (virCHProcessSetupIOThread(vm, iothreads[i]) < 0)