Skip to content

Commit 04ccba2

Browse files
authored
Merge pull request #26 from array2d/link-no-deref
shm set/del 不穿透 link,显式解引用交 runtime
2 parents ac991ee + 7cd74dd commit 04ccba2

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

‎src/kvspace.c‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1808,7 +1808,8 @@ int kvspaceShmWriteNewPlace(kvspace_t *kv, const char *key, uint8_t ref,
18081808
if (kv_sync(kv) != 0)
18091809
return -1;
18101810
char kbuf[1024];
1811-
resolve_path(kv, key, kbuf, sizeof(kbuf));
1811+
strncpy(kbuf, key, sizeof(kbuf) - 1);
1812+
kbuf[sizeof(kbuf) - 1] = '\0'; /* 写键本身,不穿透 link——显式解引用由 runtime 掌控 */
18121813
if (strstr(kbuf, "//"))
18131814
return -1;
18141815

@@ -1889,7 +1890,8 @@ int kvspaceShmDel(kvspace_t *kv, const char *key) {
18891890
if (kv_sync(kv) != 0)
18901891
return -1;
18911892
char kbuf[1024];
1892-
resolve_path(kv, key, kbuf, sizeof(kbuf)); // POSIX rm: resolve all
1893+
strncpy(kbuf, key, sizeof(kbuf) - 1);
1894+
kbuf[sizeof(kbuf) - 1] = '\0'; /* 删键本身,不穿透 link——显式解引用由 runtime 掌控 */
18931895
/* memindex 成员删除 → 同步从 p· 的 index 移除。 */
18941896
char *parent = NULL, *name = NULL;
18951897
bool is_member = false;

0 commit comments

Comments
 (0)