
On 12/07/2012 01:44 AM, Viktor Mihajlovski wrote:
There was a double free issue caused by virSysinfoRead on s390, as the same manufacturer string instance was assigned to more than one processor record. Cleaned up other potential memory issues and restructured the sysinfo parsing code by moving repeating patterns into a helper function.
BTW: I hit an issue with using strchr(string,variable), as I am still compiling with gcc 4.4.x, see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36513
I seem to recall that we've hit this before. /me searches Yep - src/util/buf.c contains this gem: while (*cur != 0) { /* strchr work-around for gcc 4.3 & 4.4 bug with -Wlogical-op * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36513 */ char needle[2] = { *cur, 0 }; if (strstr(toescape, needle)) *out++ = escape; *out++ = *cur; cur++; }
I circumvented this using index(), which is deprecated, but working.
No. Don't use index(), as it is not guaranteed to exist. What we should _really_ do is provide a change in m4/virt-compile-warnings.m4 that disables -Wlogical-op if compiling with a broken gcc, now that newer gcc doesn't force its stupidity on a sensible strchr() usage. I'll attempt that patch independently, and then your patch can go on top using strchr() from the get-go. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org