File fix-fails-to-determine-correct-size.patch of Package shntool
diff -Naru a/src/core_fileio.c b/src/core_fileio.c
--- a/src/core_fileio.c 2017-08-07 10:27:52.625070916 +0800
+++ b/src/core_fileio.c 2017-08-07 10:26:51.898489876 +0800
@@ -110,10 +110,10 @@
buf[4] = 0;
if (be_val)
- *be_val = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3];
+ *be_val = ((buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]) & 0xFFFFFFFF;
if (le_val)
- *le_val = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+ *le_val = ((buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0]) & 0xFFFFFFFF;
if (tag_val)
tagcpy(tag_val,buf);