diff --git a/skynet-src/skynet_handle.c b/skynet-src/skynet_handle.c index dea99e4f..58cabc0b 100644 --- a/skynet-src/skynet_handle.c +++ b/skynet-src/skynet_handle.c @@ -9,6 +9,7 @@ #include #define DEFAULT_SLOT_SIZE 4 +#define MAX_SLOT_SIZE 0x40000000 struct handle_name { char * name; @@ -168,6 +169,7 @@ static void _insert_name_before(struct handle_storage *s, char *name, uint32_t handle, int before) { if (s->name_count >= s->name_cap) { s->name_cap *= 2; + assert(s->name_cap <= MAX_SLOT_SIZE); struct handle_name * n = skynet_malloc(s->name_cap * sizeof(struct handle_name)); int i; for (i=0;i