summaryrefslogtreecommitdiff
path: root/src/mcp/tools/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/mcp/tools/common')
-rw-r--r--src/mcp/tools/common/context.c1
-rw-r--r--src/mcp/tools/common/memory_index.c7
2 files changed, 7 insertions, 1 deletions
diff --git a/src/mcp/tools/common/context.c b/src/mcp/tools/common/context.c
index e833f70..bf59de9 100644
--- a/src/mcp/tools/common/context.c
+++ b/src/mcp/tools/common/context.c
@@ -1,5 +1,6 @@
#include "mcp/tools/common/context.h"
+#include <stdio.h>
#include <stdlib.h>
#include "base/allocator.h"
diff --git a/src/mcp/tools/common/memory_index.c b/src/mcp/tools/common/memory_index.c
index 36e430b..e3841e2 100644
--- a/src/mcp/tools/common/memory_index.c
+++ b/src/mcp/tools/common/memory_index.c
@@ -150,7 +150,12 @@ tiny_memory_index_build(const tiny_store_t *store)
{
const tiny_relation_t *value = &entry->message.metadata.relations[relation];
memory_bucket_t *target = find_bucket(index, value->message_id);
- if (!target || !add_incoming(target, position, value->type))
+ if (!target)
+ {
+ /* The relation target is missing (likely deleted during rebuild); skip it. */
+ continue;
+ }
+ if (!add_incoming(target, position, value->type))
{
tiny_memory_index_free(index);
return NULL;