When a user would specify a backing chain index that is above the start
point libvirt would report a rather unhelpful error:
invalid argument: could not find backing store 1 in chain for 'sub/link2'
This patch adds an explicit check that the index is below start point in
the backing store and reports the following error if not:
invalid argument: requested backing store index 1 is above 'sub/../qcow2' in chain for 'sub/link2'
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=
1177062
chain = chain->backingStore;
i++;
}
+
+ if (idx && idx < i) {
+ virReportError(VIR_ERR_INVALID_ARG,
+ _("requested backing store index %u is above '%s' "
+ "in chain for '%s'"),
+ idx, NULLSTR(startFrom->path), NULLSTR(start));
+ return NULL;
+ }
+
*parent = startFrom;
}