summaryrefslogtreecommitdiffstats
path: root/src/rest.c
diff options
context:
space:
mode:
authorJose M. Guisado <jguisado@soleta.eu>2023-10-10 16:47:18 +0200
committerJose M. Guisado <jguisado@soleta.eu>2023-10-10 18:09:19 +0200
commit6f6372d0e0c19530364b168fb9c843c45a430c5a (patch)
tree0209ff78d7bc759b49aa01d245e11a1970832e79 /src/rest.c
parentdc68d0f1354c11185f87f7111130fc4aa367af60 (diff)
src: move og_repository to dbi.h
Move struct og_repository to dbi.h and use field max length for name and ip. Use og_json_parse_string_copy instead of og_json_parse_string to check maximum length against the request payload. Fixes: 86ccc3c2e8377623 ("#915 Add POST /repository/add")
Diffstat (limited to 'src/rest.c')
-rw-r--r--src/rest.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rest.c b/src/rest.c
index de2d9ed..ec4ae55 100644
--- a/src/rest.c
+++ b/src/rest.c
@@ -5210,10 +5210,14 @@ static int og_cmd_post_repository_add(json_t *element,
json_object_foreach(element, key, value) {
if (!strcmp(key, "name")) {
- err = og_json_parse_string(value, &repo.name);
+ err = og_json_parse_string_copy(value,
+ repo.name,
+ sizeof(repo.name));
params->flags |= OG_REST_PARAM_NAME;
} else if (!strcmp(key, "ip")) {
- err = og_json_parse_string(value, &repo.ip);
+ err = og_json_parse_string_copy(value,
+ repo.ip,
+ sizeof(repo.ip));
params->flags |= OG_REST_PARAM_ADDR;
}