On Fri, Sep 27, 2019 at 13:57:26 +0200, Michal Privoznik wrote: > As it turns out, on my 32bit ARM machine size_t is not the same > size as ULL. However, @length argument for both functions is type > of size_t but it's treated as ULL - for instance when passed to > qemuMonitorJSONMakeCommand(). The problem is that because of > "U:size" the virJSONValueObjectAddVArgs() expects an ULL argument > but on the stack there are size_t and char * arguments (which > coincidentally add up to size of ULL). So the created command has > only two arguments "val" and incorrect "size" and no "path" which > is required. > > I've tried to find other occurrences of this pattern but at the > rest of places where size_t is used it tracks size of an array so > that's safe. > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > src/qemu/qemu_monitor.c | 8 ++++---- > src/qemu/qemu_monitor.h | 4 ++-- > src/qemu/qemu_monitor_json.c | 6 +++--- > src/qemu/qemu_monitor_json.h | 4 ++-- > 4 files changed, 11 insertions(+), 11 deletions(-) ACK -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list