On Fri, Apr 22, 2011 at 10:17:01AM -0600, Eric Blake wrote: > On 04/22/2011 10:11 AM, Matthias Bolte wrote: > > remoteDispatchError(rerr); > > - VIR_FREE(ret->names.names_len); > > + VIR_FREE(ret->names.names_val); > > And to think I missed those in the huge patch. Oops. Maybe VIR_FREE should be changed to something like -# define VIR_FREE(ptr) virFree(&(ptr)) +# define VIR_FREE(ptr) \ + do { void *check_type = (ptr); virFree(&(check_type)); } while (0) so that the compiler can warn about such issues? With this change, I get remote.c: In function 'remoteDispatchListInterfaces': remote.c:3978:33: warning: initialization makes pointer from integer without a cast [enabled by default] I also get more warnings about casting from const to non-const, this can be avoided by making check_type const void *, but maybe these warnings indicate that something that shouldn't be freed is freed. Christophe
Attachment:
pgpXHA2VhkFJh.pgp
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list