summaryrefslogtreecommitdiff
path: root/packages/udev/udev-070/fix-alignment.patch
diff options
context:
space:
mode:
authorccsmart <ccsmart@smartpal.de>2005-09-18 13:04:20 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-09-18 13:04:20 +0000
commit01c434d0392abb0ac067a05666b0f993d9985e16 (patch)
tree10e0a66c7788f063f557a068df71386b63e70604 /packages/udev/udev-070/fix-alignment.patch
parent35e6a4c208c354a864cba7c2fd42b04162075292 (diff)
parentac68a7d184048b344309a3e693177bfee3bd5dcc (diff)
merge of 75f6e838caafacb9445ca7479d4abd0d053ac979
and e488e05a801c89ca783a2c8ad4c0e30f9621864f
Diffstat (limited to 'packages/udev/udev-070/fix-alignment.patch')
-rw-r--r--packages/udev/udev-070/fix-alignment.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/udev/udev-070/fix-alignment.patch b/packages/udev/udev-070/fix-alignment.patch
new file mode 100644
index 0000000000..8c7b8b5ac5
--- /dev/null
+++ b/packages/udev/udev-070/fix-alignment.patch
@@ -0,0 +1,24 @@
+diff --git a/udev_rules_parse.c b/udev_rules_parse.c
+--- a/udev_rules_parse.c
++++ b/udev_rules_parse.c
+@@ -241,6 +241,7 @@ static int add_to_rules(struct udev_rule
+ int valid;
+ char *linepos;
+ char *attr;
++ size_t padding;
+ int retval;
+
+ /* get all the keys */
+@@ -506,6 +507,11 @@ static int add_to_rules(struct udev_rule
+
+ /* grow buffer and add rule */
+ rule_size = sizeof(struct udev_rule) + rule->bufsize;
++ padding = (sizeof(size_t) - rule_size % sizeof(size_t)) % sizeof(size_t);
++ dbg("add %zi padding bytes", padding);
++ rule_size += padding;
++ rule->bufsize += padding;
++
+ rules->buf = realloc(rules->buf, rules->bufsize + rule_size);
+ if (!rules->buf) {
+ err("realloc failed");
+