On Wed, Mar 02, 2016 at 05:32:11PM +0100, Max Reitz wrote: > On 02.03.2016 17:24, Jeff Cody wrote: > > The function qemu_strtoul() reads 'unsigned long' sized data, > > which is larger than uint32_t on 64-bit machines. > > > > Even though the snap_id field in the header is 32-bits, we must > > accomodate the full size in qemu_strtoul(). > > > > This patch also adds more meaningful error handling to the > > qemu_strtoul() call, and subsequent results. > > > > Reported-by: Paolo Bonzini <pbonz...@redhat.com> > > Signed-off-by: Jeff Cody <jc...@redhat.com> > > --- > > block/sheepdog.c | 11 +++++++---- > > 1 file changed, 7 insertions(+), 4 deletions(-) > > Another problem with this function is that it doesn't always set errp on > error. Actually, this patch introduces the first instance where it does. > > qemu-img will not print an error if errp is not set; it actually ignores > bdrv_snapshot_delete_by_id_or_name()'s return value. So this is a real > issue that should be fixed as well. >
I'll (or perhaps one of the sheepdog maintainers?) will handle that in subsequent patch(es).