[Pkg-e-commits] [SCM] Enlightenment DR17 support for freedesktop.org specs branch, upstream-vcs, updated. 064059eac795ae51a6f58c707e4c3fdcb75227ba
raster
raster at alioth.debian.org
Tue Apr 8 21:44:35 UTC 2008
The following commit has been merged in the upstream-vcs branch:
commit 4f895aa4d3f6b629867f944014672fd5b7d8e810
Author: raster <raster>
Date: Sun Apr 6 23:02:54 2008 +0000
1. stop doing unaligned memory accesses - htons() on a pointer to some
arbitrary point...
2. use int not long - long will be 64bit on 64bit platforms, but 32bit almost
everywhere (yes in theory it may not - but in practice, it won't - long
though will vary).
diff --git a/src/lib/efreet_mime.c b/src/lib/efreet_mime.c
index eedd2da..fb58e40 100644
--- a/src/lib/efreet_mime.c
+++ b/src/lib/efreet_mime.c
@@ -921,6 +921,8 @@ efreet_mime_shared_mimeinfo_magic_parse(char *data, int size)
}
else
{
+ short tshort;
+
if (!mime) continue;
if (!entry)
{
@@ -952,7 +954,9 @@ efreet_mime_shared_mimeinfo_magic_parse(char *data, int size)
case '=':
ptr++;
- entry->value_len = ntohs(*((short*)(ptr)));
+
+ memcpy(&tshort, ptr, sizeof(short));
+ entry->value_len = ntohs(tshort);
ptr += 2;
entry->value = NEW(1, entry->value_len);
@@ -1002,12 +1006,12 @@ efreet_mime_shared_mimeinfo_magic_parse(char *data, int size)
}
else if (entry->word_size == 4)
{
- ((long*)entry->value)[j] =
- ntohl(((long*)entry->value)[j]);
+ ((int*)entry->value)[j] =
+ ntohl(((int*)entry->value)[j]);
if (entry->mask)
- ((long*)entry->mask)[j] =
- ntohl(((long*)entry->mask)[j]);
+ ((int*)entry->mask)[j] =
+ ntohl(((int*)entry->mask)[j]);
}
}
}
--
Enlightenment DR17 support for freedesktop.org specs
More information about the Pkg-e-commits
mailing list