forked from MidnightCommander/mc
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fu #5
Closed
Closed
fu #5
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andreas Mohr <[email protected]> Signed-off-by: Andrew Borodin <[email protected]>
…o char. Signed-off-by: Andrew Borodin <[email protected]>
...to get rid of extra type conversions. Signed-off-by: Andrew Borodin <[email protected]>
Add two widget callbacks: * (make_global): convert widget coordinates from local (relative to owner) to global (screen). * (make_local): convert widget coordinates from global (screen) to local (relative to owner). Such conversions are required when nested widgets and groups are added to or removed from another groups. Signed-off-by: Andrew Borodin <[email protected]>
(chattrboxes_new): create WChattrBoxes widget entirely. (chattr_dlg_create): move creation of checkboxes to chattrboxes_new(). Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
(dlg_destroy): remove. Use widget_destroy() to destroy any dialog. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
S_IWRITE is an obsolete synonym provided for BSD compatibility. It can be safely replaced with S_IWUSR. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Use DOZ where appropriate. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Found by Coverity. Coverity id #331765. Signed-off-by: Andrew Borodin <[email protected]>
(mcview_search_init): new function: initialization of search handler. (mcview_search_deinit): new function: deinitialization of search handler. (mcview_dialog_search): use mcview_search_init() and mcview_search_deinit(). (mcview_continue_search_cmd): use mcview_search_init(). (mcview_dialog_search): use mcview_search_deinit(). (mcview_search_options) move definition from dialogs.c to search.c. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
(edit_search_init): new function: initialization of search handler. (edit_search_deinit): new function: deinitialization of search handler. (edit_replace_cmd): use edit_search_init(). (edit_search_cmd): likewise. (editcmd_dialog_search_show): use edit_search_init() and edit_search_deinit(). (edit_search_options): move definition from editcmd_dialogs.c to editsearch.c. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
...and move to editbuffer.c. Signed-off-by: Andrew Borodin <[email protected]>
...to pass given WRect object directly to widget callback withowt constuction/deconstuction of intermediate WRect object. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Use WRect instead of four values. Signed-off-by: Andrew Borodin <[email protected]>
Use WRect instead of four values. Signed-off-by: Andrew Borodin <[email protected]>
Use WRect instead of four values. Signed-off-by: Andrew Borodin <[email protected]>
Use WRect instead of four values. Signed-off-by: Andrew Borodin <[email protected]>
Use WRect instead of four values. Signed-off-by: Andrew Borodin <[email protected]>
(edit_load_file_from_filename): make public, use it as main function to load file and create editor window. Signed-off-by: Andrew Borodin <[email protected]>
Remove E_NOTSUPP define. Use ENOTSUP directly where required. (vfs_clone_file): use ENOTSUP instead of EOPNOTSUPP. (mc_open): likewize. Fix sign. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
(canon_path_flags_t): rename from CANON_PATH_FLAGS, add CANON_PATH_NOCHANGE value, clarify comments. (canonicalize_pathname_custom): rename from custom_canonicalize_pathname, update description. (canonicalize_pathname): add description. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Call of mc_build_filename(remote_path, ".") is pointless because the path canonicalization is performed and trailing "/." is removed. Signed-off-by: Andrew Borodin <[email protected]>
Use me->verrno directly instead. Signed-off-by: Andrew Borodin <[email protected]>
Handle errors of bind(), getsockname(), and listen() calls. Return if one of these functions fails and setup errno to indicate the cause of the error. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
...to get rid of code duplcation. Signed-off-by: Andrew Borodin <[email protected]>
If dialog should be placed too high (in the upper half of the screen closer to the screen top), show it centered. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
Get rid of sort condition double check. Condition ad == bd || panels_options.mix_all_files was checked twice: first in sort_xxx(), then in sort_name() called in sort_xxx(). Now this condition is checked in sort_xxx() only. Signed-off-by: Andrew Borodin <[email protected]>
Signed-off-by: Andrew Borodin <[email protected]>
* 4357_cleanup: (39 commits) Update po/*.po files. src/filemanager/dir.c: minor sort optimization. lib/util.h: fix typo. (edit_sort_cmd): clarify hint for Sort command. (query_default_callback): clarify widget position. (mc_config_get_string): use mc_config_get_string_raw() (ftpfs_setup_active): clarify handling of getnameinfo() errors. (ftpfs_initconn): clarify errno setup. ftpfs.c: variable ftpfs_errno is assigned but never used. (ftpfs_dir_load): fix building of remote path. (vfs_s_subclass::dir_load): constify argument. Minor refactoring of path canonicalization. (mc_chdir): clarufy setup of errno. (vfs_path_get_by_index): set errno, update description. Fix ENOTSUP usage. mceditor: minor refactoring of file load. (edit_init): change argument for coordinates. (edit_add_window): change argument for coordinates. (widget_adjust_position): change argument for coordinates. (group_init): change argument for coordinates. ...
Signed-off-by: Andrew Borodin <[email protected]>
mlorek
pushed a commit
that referenced
this pull request
Feb 23, 2023
Normal start result in this AddressSanitizer hit. ================================================================= ==17167==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200005b251 at pc 0x5983b1c3be5f bp 0x7ffcc27f4310 sp 0x7ffcc27f4308 WRITE of size 1 at 0x60200005b251 thread T0 #0 0x5983b1c3be5e in mc_search__change_case_str /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/lib.c:84:14 #1 0x5983b1c3c03f in mc_search__toupper_case_str /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/lib.c:200:12 #2 0x5983b1d1b434 in mc_search__cond_struct_new_regex_hex_add /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/regex.c:130:11 #3 0x5983b1d1ad7f in mc_search__cond_struct_new_regex_accum_append /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/regex.c:180:17 #4 0x5983b1d147c9 in mc_search__cond_struct_new_regex_ci_str /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/regex.c:251:5 #5 0x5983b1d136fa in mc_search__cond_struct_new_init_regex /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/regex.c:817:39 #6 0x5983b1c3d7f0 in mc_search__cond_struct_new /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/search.c:80:9 #7 0x5983b1c3d2e5 in mc_search_prepare /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/search.c:219:26 #8 0x5983b1c3d9c3 in mc_search_run /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/search.c:297:10 #9 0x5983b1c359f2 in mc_fhl_get_color_regexp /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/filehighlight/get-color.c:243:9 #10 0x5983b1c35385 in mc_fhl_get_color /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/filehighlight/get-color.c:278:19 #11 0x5983b1a1208f in file_compute_color /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/panel.c:784:12 MidnightCommander#12 0x5983b1a10bfd in format_file /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/panel.c:814:17 #13 0x5983b1a0fb17 in repaint_file /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/panel.c:954:15 #14 0x5983b1a0c0b6 in paint_dir /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/panel.c:1071:9 #15 0x5983b19fab96 in panel_callback /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/panel.c:3731:9 #16 0x5983b1d08775 in widget_draw /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/widget-common.c:539:19 #17 0x5983b1d078eb in widget_default_set_state /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/widget-common.c:841:17 #18 0x5983b1cb3c0b in widget_set_state /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/../../lib/widget/widget-common.h:383:12 #19 0x5983b1cb286c in group_default_set_state /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/group.c:691:17 MidnightCommander#20 0x5983b1caa8ab in widget_set_state /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/../../lib/widget/widget-common.h:383:12 MidnightCommander#21 0x5983b1cacd14 in dlg_init /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:540:5 #22 0x5983b1cada9d in dlg_run /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:601:5 MidnightCommander#23 0x5983b19cddd9 in do_nc /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/filemanager.c:1827:16 #24 0x5983b1999605 in main /tmp/portage/app-misc/mc-9999/work/mc-9999/src/main.c:455:21 MidnightCommander#25 0x7d3944d620cb (/lib64/libc.so.6+0x220cb) MidnightCommander#26 0x7d3944d6217b in __libc_start_main (/lib64/libc.so.6+0x2217b) #27 0x5983b18d7d10 in _start (/usr/bin/mc+0x277d10) 0x60200005b251 is located 0 bytes to the right of 1-byte region [0x60200005b250,0x60200005b251) allocated by thread T0 here: #0 0x5983b195ee89 in malloc (/usr/bin/mc+0x2fee89) #1 0x7d3945014ef9 in g_malloc (/usr/lib64/libglib-2.0.so.0+0x54ef9) #2 0x5983b1c3c03f in mc_search__toupper_case_str /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/lib.c:200:12 #3 0x5983b1d1b434 in mc_search__cond_struct_new_regex_hex_add /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/regex.c:130:11 #4 0x5983b1d1ad7f in mc_search__cond_struct_new_regex_accum_append /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/regex.c:180:17 #5 0x5983b1d147c9 in mc_search__cond_struct_new_regex_ci_str /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/regex.c:251:5 #6 0x5983b1d136fa in mc_search__cond_struct_new_init_regex /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/regex.c:817:39 #7 0x5983b1c3d7f0 in mc_search__cond_struct_new /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/search.c:80:9 #8 0x5983b1c3d2e5 in mc_search_prepare /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/search.c:219:26 #9 0x5983b1c3d9c3 in mc_search_run /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/search.c:297:10 #10 0x5983b1c359f2 in mc_fhl_get_color_regexp /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/filehighlight/get-color.c:243:9 #11 0x5983b1c35385 in mc_fhl_get_color /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/filehighlight/get-color.c:278:19 MidnightCommander#12 0x5983b1a1208f in file_compute_color /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/panel.c:784:12 #13 0x5983b1a10bfd in format_file /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/panel.c:814:17 #14 0x5983b1a0fb17 in repaint_file /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/panel.c:954:15 #15 0x5983b1a0c0b6 in paint_dir /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/panel.c:1071:9 #16 0x5983b19fab96 in panel_callback /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/panel.c:3731:9 #17 0x5983b1d08775 in widget_draw /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/widget-common.c:539:19 #18 0x5983b1d078eb in widget_default_set_state /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/widget-common.c:841:17 #19 0x5983b1cb3c0b in widget_set_state /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/../../lib/widget/widget-common.h:383:12 MidnightCommander#20 0x5983b1cb286c in group_default_set_state /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/group.c:691:17 MidnightCommander#21 0x5983b1caa8ab in widget_set_state /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/../../lib/widget/widget-common.h:383:12 #22 0x5983b1cacd14 in dlg_init /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:540:5 MidnightCommander#23 0x5983b1cada9d in dlg_run /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:601:5 #24 0x5983b19cddd9 in do_nc /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/filemanager.c:1827:16 MidnightCommander#25 0x5983b1999605 in main /tmp/portage/app-misc/mc-9999/work/mc-9999/src/main.c:455:21 MidnightCommander#26 0x7d3944d620cb (/lib64/libc.so.6+0x220cb) SUMMARY: AddressSanitizer: heap-buffer-overflow /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/search/lib.c:84:14 in mc_search__change_case_str Shadow bytes around the buggy address: 0x0c04800035f0: fa fa fd fa fa fa fd fd fa fa fd fa fa fa fd fa 0x0c0480003600: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa 0x0c0480003610: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fd 0x0c0480003620: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa 0x0c0480003630: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa =>0x0c0480003640: fa fa fd fa fa fa fd fa fa fa[01]fa fa fa fa fa 0x0c0480003650: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480003660: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480003670: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480003680: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480003690: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==17167==ABORTING Found by clang 15. Signed-off-by: Andreas Mohr <[email protected]> Signed-off-by: Andrew Borodin <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thank you for thinking about contributing to Midnight Commander, but we ARE NOT using pull requests to manage incoming patches!
Instead, please check out our Trac instance to see if the issue has already been reported, or submit a new ticket:
https://midnight-commander.org/wiki/NewTicket
If you chose to submit the pull request instead, keep in mind that we are not checking on them regularly, so it might take ages before we even get to it, if at all.
Unfortunately, GitHub does not allow us to disable the pull requests feature for this repository, so we have to warn you this way...