On 2/18/20 4:52 AM, Richard W.M. Jones wrote:
Unfortunately you cannot restore argv by setting *p = '='
:-(
The reason is we advertize that plugins are allowed to save they
‘const char *key’ pointer passed to them in .config, but assigning
*p = '=' changes the key string from "key" back to
"key=value".
D'oh. And my bad for only running the subset of the testsuite that I was
working on ('make -C tests check TESTS=test-vddk.sh') rather than the
full suite, or I would have noticed the regression from my one-liner.
Thanks for fixing it.
Surprisingly only test-eval.sh actually broke, but other plugins are
undoubtedly affected.
My alternate fix is fairly horrible, but passes all the tests and
valgrind.
It looks right to me - if we can't modify argv[] in place, we have to
copy off a stable version somewhere. Your patch is definitely longer
than my one-liner, but I don't see any way to shorten it.
ACK.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization:
qemu.org |
libvirt.org