Commit 7f1a005
authored
read_snapshot_obj: Pass user_ctx by reference to fix race condition (eBay#836)
There is a race condition where read_snapshot_obj may access a freed
user_ctx pointer due to concurrent free_user_snp_ctx calls. This occurs
because user_ctx was stored in the snapshot_obj struct as an
intermediate copy, making it vulnerable to being freed while still in
use.
Fix by passing user_ctx as a reference parameter, allowing the listener
to modify the caller's context directly without intermediate storage.
Signed-off-by: Jilong Kou <jkou@ebay.com>1 parent 377d847 commit 7f1a005
File tree
3 files changed
+9
-8
lines changed- src
- include/homestore/replication
- lib/replication/repl_dev
3 files changed
+9
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | | - | |
| 102 | + | |
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
| 107 | + | |
| 108 | + | |
107 | 109 | | |
108 | 110 | | |
109 | 111 | | |
| |||
402 | 404 | | |
403 | 405 | | |
404 | 406 | | |
405 | | - | |
| 407 | + | |
406 | 408 | | |
407 | 409 | | |
408 | 410 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
365 | 365 | | |
366 | 366 | | |
367 | 367 | | |
368 | | - | |
369 | | - | |
| 368 | + | |
370 | 369 | | |
371 | 370 | | |
372 | 371 | | |
373 | | - | |
| 372 | + | |
374 | 373 | | |
375 | | - | |
376 | 374 | | |
377 | 375 | | |
378 | 376 | | |
| |||
395 | 393 | | |
396 | 394 | | |
397 | 395 | | |
398 | | - | |
| 396 | + | |
| 397 | + | |
399 | 398 | | |
400 | 399 | | |
401 | 400 | | |
| |||
0 commit comments