Commit 033a1d4
committed
fix conntab lookup after rename in sshfs_release
sshfs_release looked up the conntab entry by path, but sshfs_rename
moves that entry to the new path. Closing the original handle after a
rename can miss the entry and dereference NULL.
Store the conntab_entry pointer on sshfs_file and use it for release
and open-failure cleanup. Add a regression test for open -> rename -> close.1 parent d749988 commit 033a1d4
2 files changed
Lines changed: 42 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
280 | 280 | | |
281 | 281 | | |
282 | 282 | | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
283 | 288 | | |
284 | 289 | | |
285 | 290 | | |
| |||
289 | 294 | | |
290 | 295 | | |
291 | 296 | | |
| 297 | + | |
292 | 298 | | |
293 | 299 | | |
294 | 300 | | |
295 | 301 | | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | 302 | | |
302 | 303 | | |
303 | 304 | | |
| |||
2763 | 2764 | | |
2764 | 2765 | | |
2765 | 2766 | | |
| 2767 | + | |
| 2768 | + | |
| 2769 | + | |
| 2770 | + | |
| 2771 | + | |
| 2772 | + | |
2766 | 2773 | | |
2767 | 2774 | | |
2768 | 2775 | | |
| |||
2823 | 2830 | | |
2824 | 2831 | | |
2825 | 2832 | | |
| 2833 | + | |
2826 | 2834 | | |
2827 | 2835 | | |
2828 | 2836 | | |
2829 | 2837 | | |
2830 | 2838 | | |
2831 | | - | |
| 2839 | + | |
2832 | 2840 | | |
2833 | 2841 | | |
2834 | 2842 | | |
| |||
2868 | 2876 | | |
2869 | 2877 | | |
2870 | 2878 | | |
2871 | | - | |
2872 | | - | |
2873 | | - | |
2874 | | - | |
| 2879 | + | |
| 2880 | + | |
| 2881 | + | |
| 2882 | + | |
| 2883 | + | |
| 2884 | + | |
2875 | 2885 | | |
2876 | 2886 | | |
2877 | 2887 | | |
| |||
2942 | 2952 | | |
2943 | 2953 | | |
2944 | 2954 | | |
2945 | | - | |
2946 | 2955 | | |
2947 | 2956 | | |
2948 | 2957 | | |
2949 | 2958 | | |
2950 | 2959 | | |
2951 | 2960 | | |
2952 | 2961 | | |
| 2962 | + | |
2953 | 2963 | | |
2954 | 2964 | | |
2955 | | - | |
2956 | 2965 | | |
2957 | | - | |
2958 | | - | |
| 2966 | + | |
| 2967 | + | |
| 2968 | + | |
2959 | 2969 | | |
2960 | 2970 | | |
2961 | 2971 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
| 171 | + | |
171 | 172 | | |
172 | 173 | | |
173 | 174 | | |
| |||
503 | 504 | | |
504 | 505 | | |
505 | 506 | | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
506 | 524 | | |
507 | 525 | | |
508 | 526 | | |
| |||
0 commit comments