--- liboil-0.2.1/liboil/liboilcpu.c.orig 2004-09-03 23:39:10.000000000 +0200 +++ liboil-0.2.1/liboil/liboilcpu.c 2004-11-21 15:48:43.000000000 +0100 @@ -44,6 +44,7 @@ int fd; int n; + if (cpuinfo == NULL) return NULL; fd = open("/proc/cpuinfo", O_RDONLY); if (fd < 0) return NULL; @@ -64,9 +65,13 @@ char **f; cpuinfo = get_cpuinfo(); + if (cpuinfo == NULL) return; cpuinfo_flags = get_cpuinfo_flags_string(cpuinfo); - if (cpuinfo_flags == NULL) return; + if (cpuinfo_flags == NULL) { + free(cpuinfo); + return; + } flags = strsplit(cpuinfo_flags); for (f = flags; *f; f++) {