chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
volume_id: add OCFS (Oracle Cluster File System) support
[elogind.git]
/
udev_rules_parse.c
diff --git
a/udev_rules_parse.c
b/udev_rules_parse.c
index 0259268c8faa36b0ce8e7327c844798d4d7c12e0..e708f355584ec1f73b7c6db798cbcdac6ef81011 100644
(file)
--- a/
udev_rules_parse.c
+++ b/
udev_rules_parse.c
@@
-241,6
+241,7
@@
static int add_to_rules(struct udev_rules *rules, char *line)
int valid;
char *linepos;
char *attr;
int valid;
char *linepos;
char *attr;
+ size_t padding;
int retval;
/* get all the keys */
int retval;
/* get all the keys */
@@
-506,6
+507,11
@@
static int add_to_rules(struct udev_rules *rules, char *line)
/* grow buffer and add rule */
rule_size = sizeof(struct udev_rule) + rule->bufsize;
/* 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");
rules->buf = realloc(rules->buf, rules->bufsize + rule_size);
if (!rules->buf) {
err("realloc failed");