[PATCH 3/3] fix: use strvec_push_wrapper to prevent ubsan failure
From: Lidong Yan <502024330056@smail.nju.edu.cn>
Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
---
t/helper/test-free-unknown-options.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/t/helper/test-free-unknown-options.c b/t/helper/test-free-unknown-options.c
index 59d732da23ca..7369dfe379d6 100644
--- a/t/helper/test-free-unknown-options.c
+++ b/t/helper/test-free-unknown-options.c
@@ -8,6 +8,12 @@ static const char *const free_unknown_options_usage[] = {
"test-tool free-unknown-options", NULL
};
+static char *strvec_push_wrapper(void *value, const char *str)
+{
+ struct strvec *sv = value;
+ return (char *)strvec_push(sv, str);
+}
+
int cmd__free_unknown_options(int argc, const char **argv)
{
struct strvec *unknown_opts = xmalloc(sizeof(struct strvec));
@@ -17,7 +23,7 @@ int cmd__free_unknown_options(int argc, const char **argv)
struct option options[] = {
OPT_BOOL('a', "test-a", &a, N_("option a, only for test use")),
OPT_BOOL('b', "test-b", &b, N_("option b, only for test use")),
- OPT_UNKNOWN(unknown_opts, (parse_opt_strdup_fn *)&strvec_push),
+ OPT_UNKNOWN(unknown_opts, strvec_push_wrapper),
};
strvec_init(unknown_opts);
--
gitgitgadget