diff options
author | Szabolcs Nagy <nsz@port70.net> | 2013-10-07 13:25:19 +0000 |
---|---|---|
committer | Szabolcs Nagy <nsz@port70.net> | 2013-10-07 13:25:19 +0000 |
commit | 1e81fa4524ecfd51e6a6578ff8038b4c05393101 (patch) | |
tree | 4c918040a2db7c95797a4f29f9252f44a27f6724 /src/regex/regcomp.c | |
parent | c3a43b35cc52a7fac93a8c1030d94c919c3ab0eb (diff) | |
download | musl-1e81fa4524ecfd51e6a6578ff8038b4c05393101.tar.gz |
fix allocation sizes in regcomp
sizeof had incorrect argument in a few places, the size was always
large enough so the issue was not critical.
Diffstat (limited to 'src/regex/regcomp.c')
-rw-r--r-- | src/regex/regcomp.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/regex/regcomp.c b/src/regex/regcomp.c index 5cedfd52..16337542 100644 --- a/src/regex/regcomp.c +++ b/src/regex/regcomp.c @@ -516,7 +516,7 @@ tre_new_item(tre_mem_t mem, int min, int max, int *i, int *max_i, if (*max_i > 1024) return REG_ESPACE; *max_i *= 2; - new_items = xrealloc(array, sizeof(*items) * *max_i); + new_items = xrealloc(array, sizeof(*array) * *max_i); if (new_items == NULL) return REG_ESPACE; *items = array = new_items; @@ -765,7 +765,7 @@ tre_parse_bracket(tre_parse_ctx_t *ctx, tre_ast_node_t **result) if (num_neg_classes > 0) { l->neg_classes = tre_mem_alloc(ctx->mem, - (sizeof(l->neg_classes) + (sizeof(*l->neg_classes) * (num_neg_classes + 1))); if (l->neg_classes == NULL) { @@ -805,7 +805,7 @@ tre_parse_bracket(tre_parse_ctx_t *ctx, tre_ast_node_t **result) if (num_neg_classes > 0) { l->neg_classes = tre_mem_alloc(ctx->mem, - (sizeof(l->neg_classes) + (sizeof(*l->neg_classes) * (num_neg_classes + 1))); if (l->neg_classes == NULL) { @@ -3167,7 +3167,7 @@ regcomp(regex_t *restrict preg, const char *restrict regex, int cflags) sizeof(*tag_directions) * (tnfa->num_tags + 1)); } tnfa->minimal_tags = xcalloc((unsigned)tnfa->num_tags * 2 + 1, - sizeof(tnfa->minimal_tags)); + sizeof(*tnfa->minimal_tags)); if (tnfa->minimal_tags == NULL) ERROR_EXIT(REG_ESPACE); |