util-linux: fix endianess bug and stage libraries properly
[openwrt/openwrt.git] / package / util-linux / patches / 002-fix-endianess.patch
diff --git a/package/util-linux/patches/002-fix-endianess.patch b/package/util-linux/patches/002-fix-endianess.patch
new file mode 100644 (file)
index 0000000..4c59932
--- /dev/null
@@ -0,0 +1,13 @@
+Index: util-linux-2.21.2/libblkid/src/superblocks/swap.c
+===================================================================
+--- util-linux-2.21.2.orig/libblkid/src/superblocks/swap.c     2012-05-15 13:51:45.814410455 +0200
++++ util-linux-2.21.2/libblkid/src/superblocks/swap.c  2013-06-12 23:23:03.270742199 +0200
+@@ -48,7 +48,7 @@
+       /* SWAPSPACE2 - check for wrong version or zeroed pagecount */
+       if (strcmp(version, "2") == 0 &&
+-          (hdr->version != 1 || hdr->lastpage == 0))
++          ((hdr->version != 1 && swab32(hdr->version) != 1) || hdr->lastpage == 0))
+               return -1;
+       /* arbitrary sanity check.. is there any garbage down there? */