summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libsystemd-bus/bus-match.c5
-rw-r--r--src/shared/util.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/src/libsystemd-bus/bus-match.c b/src/libsystemd-bus/bus-match.c
index fed25c1a2a..37e7cc71f3 100644
--- a/src/libsystemd-bus/bus-match.c
+++ b/src/libsystemd-bus/bus-match.c
@@ -725,7 +725,7 @@ static int parse_match(
}
}
- if (!greedy_realloc((void**) &value, &value_allocated, j + 2)) {
+ if (!GREEDY_REALLOC(value, value_allocated, j + 2)) {
r = -ENOMEM;
goto fail;
}
@@ -744,8 +744,7 @@ static int parse_match(
} else
u = 0;
- if (!greedy_realloc((void**) &components, &components_allocated,
- (n_components + 1) * sizeof(struct match_component))) {
+ if (!GREEDY_REALLOC(components, components_allocated, n_components + 1)) {
r = -ENOMEM;
goto fail;
}
diff --git a/src/shared/util.h b/src/shared/util.h
index a8e962ea50..99ec0a39bd 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -618,6 +618,8 @@ char *strextend(char **x, ...);
char *strrep(const char *s, unsigned n);
void* greedy_realloc(void **p, size_t *allocated, size_t need);
+#define GREEDY_REALLOC(array, allocated, need) \
+ greedy_realloc((void**) &(array), &(allocated), (sizeof *array) * (need))
static inline void _reset_errno_(int *saved_errno) {
errno = *saved_errno;