summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-11-21 08:04:22 +0100
committerdefault <nobody@localhost>2022-11-21 08:04:22 +0100
commitbf214d45e9a9ecdcb4dd5b9b183b2a026512e71b (patch)
tree30dc24f711564b489ed39be6892b99deed3ee6e4
parentc78574c8d9d1667a33d64224a7d1dc812963cef8 (diff)
In _timeline_write(), limit the number of grampa levels updated.
-rw-r--r--data.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/data.c b/data.c
index 7ac4f87..4de2a23 100644
--- a/data.c
+++ b/data.c
@@ -517,6 +517,8 @@ int _timeline_write(snac *snac, char *id, char *msg, char *parent, char *referre
/* now iterate all parents up, just renaming the files */
xs *grampa = xs_dup(xs_dict_get(meta, "parent"));
+ int max_levels = 10;
+
while (!xs_is_null(grampa)) {
xs *gofn = _timeline_find_fn(snac, grampa);
@@ -555,6 +557,13 @@ int _timeline_write(snac *snac, char *id, char *msg, char *parent, char *referre
xs_free(grampa);
grampa = xs_dup(p);
}
+ else
+ break;
+
+ if (--max_levels == 0) {
+ snac_log(snac, xs_dup("_timeline_write maximum grampa levels reached"));
+ break;
+ }
}
}