diff --git a/server/filestore.go b/server/filestore.go index 37e1bfa9..9696710d 100644 --- a/server/filestore.go +++ b/server/filestore.go @@ -1134,9 +1134,11 @@ func (fs *fileStore) eraseMsg(mb *msgBlock, sm *fileStoredMsg) error { } // erase contents and rewrite with new hash. if len(sm.hdr) > 0 { + sm.hdr = make([]byte, len(sm.hdr)) rand.Read(sm.hdr) } if len(sm.msg) > 0 { + sm.msg = make([]byte, len(sm.msg)) rand.Read(sm.msg) } sm.seq, sm.ts = 0, 0 diff --git a/server/filestore_test.go b/server/filestore_test.go index 2cf56961..79523518 100644 --- a/server/filestore_test.go +++ b/server/filestore_test.go @@ -103,12 +103,6 @@ func TestFileStoreMsgHeaders(t *testing.T) { if removed, _ := fs.EraseMsg(1); !removed { t.Fatalf("Expected erase msg to return success") } - if bytes.Equal(hdr, shdr) { - t.Fatalf("Expected hdr to be erased") - } - if bytes.Equal(msg, smsg) { - t.Fatalf("Expected msg to be erased") - } } func TestFileStoreBasicWriteMsgsAndRestore(t *testing.T) { diff --git a/server/memstore.go b/server/memstore.go index be0910c8..c09ec480 100644 --- a/server/memstore.go +++ b/server/memstore.go @@ -323,12 +323,14 @@ func (ms *memStore) removeMsg(seq uint64, secure bool) bool { if secure { if len(sm.hdr) > 0 { + sm.hdr = make([]byte, len(sm.hdr)) rand.Read(sm.hdr) } if len(sm.msg) > 0 { + sm.msg = make([]byte, len(sm.msg)) rand.Read(sm.msg) } - sm.seq = 0 + sm.seq, sm.ts = 0, 0 } if ms.scb != nil { diff --git a/server/memstore_test.go b/server/memstore_test.go index e8f25807..4d91a212 100644 --- a/server/memstore_test.go +++ b/server/memstore_test.go @@ -215,9 +215,6 @@ func TestMemStoreEraseMsg(t *testing.T) { if removed, _ := ms.EraseMsg(1); !removed { t.Fatalf("Expected erase msg to return success") } - if bytes.Equal(msg, smsg) { - t.Fatalf("Expected msg to be erased") - } } func TestMemStoreMsgHeaders(t *testing.T) { @@ -243,10 +240,4 @@ func TestMemStoreMsgHeaders(t *testing.T) { if removed, _ := ms.EraseMsg(1); !removed { t.Fatalf("Expected erase msg to return success") } - if bytes.Equal(hdr, shdr) { - t.Fatalf("Expected hdr to be erased") - } - if bytes.Equal(msg, smsg) { - t.Fatalf("Expected msg to be erased") - } }