--- /dev/null
+--- liboil-0.2.1/liboil/md5/md5_i386.c.orig 2004-11-07 22:37:36.000000000 +0100
++++ liboil-0.2.1/liboil/md5/md5_i386.c 2004-11-21 16:30:16.000000000 +0100
+@@ -354,7 +354,7 @@
+
+ asm (
+ " mov %%ebp, 0x8(%%eax)\n"
+- " mov %%ebp, 0xc(%%eax)\n"
++ " mov %%esp, 0xc(%%eax)\n"
+ " mov %%eax, %%ebp\n"
+ " mov (%%ebp), %%esi\n"
+ " mov (%%esi), %%eax\n"
+--- 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++) {