Re: [PATCH] daemon: Don't try to free an unsigned int in error paths

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]