guoling
baf36b8695
Refine v2.4.2 hardening fixes
2026-08-20 21:42:19 +08:00
guoling
de70a23783
Fix oversized key corrupting data due to uint16_t overflow in KeyValueHolder
...
Keys longer than 65531 bytes cause keySize and computedKVSize (both uint16_t)
to wrap around, silently corrupting the internal offset so that subsequent reads
return garbage. Reject keys exceeding the safe threshold (UINT16_MAX - 4) at
all write and parse entry points.
2026-04-08 16:08:59 +08:00
guoling
7224f0aa8f
Fix -Wmissing-braces
2026-03-27 16:23:03 +08:00
guoling
58920f50e1
update C++ demo code with MMKVHandler
2026-03-25 12:25:12 +08:00
guoling
1915d892f1
add MMKVConfig
2026-02-05 17:21:53 +08:00
guoling
5c2bce40a3
add reKey testcase on POSIX/Win32
2025-12-01 17:05:10 +08:00
guoling
3163817697
fix single key override bug on upgrading from a v1.1.x version #1605
2025-11-24 16:07:16 +08:00
guoling
8b7eb242cb
fix readonly crash #1597
2025-10-21 16:45:32 +08:00
guoling
4ad7236e0c
dont depend on OS close() to unlock file locks, for Linux/Android flock() is buggy with mmap()
2025-05-07 14:23:41 +08:00
guoling
dcfbc83f1c
add importFrom() for Python/Golang
2025-04-25 15:23:24 +08:00
guoling
a7d70e187a
NameSpace works on POSIX
2025-01-07 20:32:36 +08:00
guoling
47d3c0893a
add readonly support
2024-09-06 19:44:11 +08:00
guoling
2183260881
fix set empty string/bytes value not working on auto key expire
2024-06-28 15:35:12 +08:00
guoling
6622c083b6
use PRId64 & PRIu64 to format 64 bit integer
2024-06-28 14:54:20 +08:00
guoling
38efa640da
fix gcc compile error
2024-06-28 14:46:27 +08:00
guoling
9341e03e19
make C++20 optional
2024-05-07 16:43:18 +08:00
guoling
9e8c30d7cb
also support std::span<>
2024-05-06 17:54:17 +08:00
guoling
8b8852479b
support encoding string_view
2024-04-29 18:05:44 +08:00
guoling
4f88f3260a
update doc about set<!MMKV_SUPPORTED_VALUE_TYPE<T>>()
2024-04-29 15:29:52 +08:00
guoling
346e8f0f40
fix some testcase error
2024-04-29 14:32:37 +08:00
guoling
977a93fa09
almost done add vector<T> encode/decode support
2024-04-29 14:25:18 +08:00
guoling
b990c2bd14
prepare to add vector<T> encode/decode support
2024-04-28 18:49:34 +08:00
guoling
db61c3ea60
fix typo
2024-04-28 15:43:13 +08:00
guoling
416ed6ce90
fix linux compile error #1281
2024-04-26 18:26:10 +08:00
guoling
e7322d8cee
test removeStorage() on POSIX
2023-12-06 13:29:41 +08:00
lishaokai
eb9d8c1497
add clearAll with keeping file disk space
2023-10-08 14:07:13 +08:00
lishaokai
347b25feaa
redo ftruncate file to its previous size when zeroFillFile fails(disk full) #1180
2023-09-26 17:53:29 +08:00
lishaokai
72b59356a9
compare value before set/encode for the same key
2023-09-12 20:36:10 +08:00
Lishaokai
7649e45d70
in place modification for getString to speed up
2023-09-06 15:59:37 +08:00
lishaokai
e0f5321a9a
override from beginning of file when dict is empty
2023-08-28 17:42:12 +08:00
Lishaokai
c962b68934
Do not append to file when dic.size()==1 && new key in dict
2023-08-23 11:23:58 +08:00
kaitian521
5c88ea604b
Merge branch 'dev' into dev
2023-08-11 21:32:26 +08:00
Lishaokai
73f01e5d50
set expected capacity for file length when init #1114
2023-08-11 21:23:12 +08:00
guoling
60cd3ab5d7
tidy
2023-08-10 17:18:04 +08:00
guoling
d8574567c0
add testcase on count() & allKeys() for POSIX
2023-08-10 17:17:48 +08:00
guoling
5a60f03196
add auto-key-expiration for golang
2023-05-26 19:32:40 +08:00
guoling
852ea1e6c8
add Expire constant
2023-05-26 17:25:20 +08:00
guoling
16b666fe2c
add MMKV::NeverExpire for C++ interface
2023-05-26 15:47:41 +08:00
guoling
3bf119f579
fix compile error on Linux
2023-05-24 19:58:32 +08:00
guoling
927d95fd68
add auto-expiration testcase for POSIX
2023-05-24 19:50:57 +08:00
guoling
cc233a6fe3
update POSIX test code about initialize() with logHandler
2022-09-20 11:17:09 +08:00
guoling
d0493ec2e3
fix compile error on Linux
2021-09-18 18:32:59 +08:00
guoling
9c0de2dcc9
backup & restore works on POSIX
2021-09-16 20:19:24 +08:00
guoling
ec39f75fd6
fix compiler error & sem_open() error on FreeBSD
2021-09-15 16:41:19 +00:00
guoling
93b0b28fd4
opt clearAll()
2020-04-14 16:20:27 +08:00
guoling
425f43f2a6
rename demo.cpp
2020-03-24 14:50:55 +08:00