From 718c31000e360bdc38c84d636871ee3a5b46717d Mon Sep 17 00:00:00 2001 From: John Sully Date: Sun, 14 Mar 2021 19:42:56 +0000 Subject: [PATCH] Fix incorrect memory order on refcounted strings Former-commit-id: fcf3368b1d56ad7a11e510e5a66e415a46277e8b --- src/sds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sds.c b/src/sds.c index 2c099a160..1c5fef555 100644 --- a/src/sds.c +++ b/src/sds.c @@ -195,7 +195,7 @@ void sdsfree(const char *s) { if ((flags & SDS_TYPE_MASK) == SDS_TYPE_REFCOUNTED) { SDS_HDR_VAR_REFCOUNTED(s); - if (__atomic_fetch_sub(&sh->refcount, 1, __ATOMIC_RELAXED) > 1) + if (__atomic_fetch_sub(&sh->refcount, 1, __ATOMIC_ACQ_REL) > 1) return; } s_free((char*)s-sdsHdrSize(s[-1]));