On Tue, Oct 12, 2021 at 12:36:26AM +0200, Laszlo Ersek wrote:
In order to shut up the compiler, just zero-initialize the buffer -- that's simpler than adding diagnostics pragmas. The "maybe-uninitialized" warning is otherwise very useful, so keep it globally enabled (per WARN_CFLAGS / WERROR_CFLAGS). ...
+++ b/lib/proto.c @@ -433,7 +433,7 @@ send_file_cancellation (guestfs_h *g) static int send_file_complete (guestfs_h *g) { - char buf[1]; + char buf[1] = { '\0' }; return send_file_chunk (g, 0, buf, 0);
If it were me writing this, I would have done this to shave typing: char c = '\0'; return send_file_chunk (g, 0, &c, 0); or even abbreviated with: char c = 0; In fact, since send_file_chunk takes a const char *, we could get away with: return send_file_chunk (g, 0, "", 0); But your way is fine, too, and we aren't in a code golf competition. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org