Andreas Mohr
e1ad66e90e
Ticket #3605 : extfs: fix buffer overflow.
...
When handling with copy/move commands inside of archive we can lead into buffer overflow
steps to roproduce:
create simple 7z archive
open it
rename single filename
hit buffer overflow
found by clang/AddressSanitizer
==17794==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000273593 at pc 0x00000045f2a9 bp 0x7ffc94aa8e20 sp 0x7ffc94aa85d0
READ of size 2 at 0x602000273593 thread T0
#0 0x45f2a8 in __interceptor_strchr.part.44 (/usr/bin/mc+0x45f2a8)
#1 0x70fb72 in extfs_find_entry_int /tmp/portage/app-misc/mc-9999/work/mc-9999/src/vfs/extfs/extfs.c:312:13
#2 0x70f562 in extfs_find_entry /tmp/portage/app-misc/mc-9999/work/mc-9999/src/vfs/extfs/extfs.c:331:11
#3 0x712131 in extfs_internal_stat /tmp/portage/app-misc/mc-9999/work/mc-9999/src/vfs/extfs/extfs.c:1117:13
#4 0x7f3de308ab59 in mc_stat /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/vfs/interface.c:556:46
#5 0x538575 in file_mask_dialog /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/filegui.c:1340:25
#6 0x6e0753 in panel_operate /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/file.c:2718:13
#7 0x6bdabd in rename_cmd /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/cmd.c:811:9
#8 0x551ef4 in midnight_execute_cmd /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/midnight.c:1307:9
#9 0x7f3de30a49e7 in buttonbar_callback /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/buttonbar.c:172:42
#10 0x7f3de30b2305 in dlg_try_hotkey /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:464:23
#11 0x7f3de30b199a in dlg_key_event /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:509:19
#12 0x7f3de30b2ef9 in frontend_dlg_run /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:570:9
#13 0x7f3de30b2af5 in dlg_run /tmp/portage/app-misc/mc-9999/work/mc-9999/lib/widget/dialog.c:1267:5
#14 0x5507bb in do_nc /tmp/portage/app-misc/mc-9999/work/mc-9999/src/filemanager/midnight.c:1827:9
#15 0x50b874 in main /tmp/portage/app-misc/mc-9999/work/mc-9999/src/main.c:403:21
#16 0x7f3de1ec78fb in __libc_start_main (/lib64/libc.so.6+0x208fb)
#17 0x427f48 in _start (/usr/bin/mc+0x427f48)
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-20 11:54:52 +03:00
zazaho
48cfd3b28d
Ticket #3620 : patchfs: fix syntax error.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-16 09:23:34 +03:00
Mooffie
4e62be3b7e
Split MSG_ACTION into MSG_ACTION and MSG_NOTIFY.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-12 14:49:40 +03:00
Mooffie
6b56cabf6f
Ticket #3566 : Split MSG_ACTION into MSG_ACTION and MSG_NOTIFY.
...
Start step: simplify buttonbar and menu handling.
We make WButtonBar send the command directly to the target widget. This
lets us simplify the MSG_ACTION case in dialog handlers. The menu handling
too is simplified here.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-12 14:49:39 +03:00
Andrew Borodin
9a617a6d5a
Ticket #3557 : mcedit should not be closed on Ctrl-G.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-08 09:31:09 +03:00
Yury V. Zaytsev
8793b14bef
Ticket #3601 : fix ./configure --without-internal-edit
...
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2016-03-04 17:37:24 +01:00
Yury V. Zaytsev
a8f512c12c
Remove unneeded struct
keyword for typedef'd structs
...
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2016-03-04 09:23:38 +03:00
Andreas Mohr
561923d643
src/editor/edit.c: Cleanup some compiler warnings
...
edit.c:909:12: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
return r;
~~~~~~ ^
edit.c:1689:11: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
col = edit_get_col (edit);
~ ^~~~~~~~~~~~~~~~~~~
edit.c:2361:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
d = edit->undo_stack[(sp - 2) & edit->undo_stack_size_mask];
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
edit.c:2371:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
d = edit->undo_stack[spm1];
~ ^~~~~~~~~~~~~~~~~~~~~~
edit.c:2440:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
d = edit->redo_stack[(sp - 2) & edit->redo_stack_size_mask];
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
edit.c:2450:17: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
d = edit->redo_stack[spm1];
~ ^~~~~~~~~~~~~~~~~~~~~~
edit.c:2970:27: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
q = edit->curs_col;
~ ~~~~~~^~~~~~~~
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:38 +03:00
Andreas Mohr
ae7dacb6f1
src/editor/editbuffer.c: Cleanup some compiler warning
...
editbuffer.c:428:12: warning: implicit conversion changes signedness: 'long' to 'gsize' (aka 'unsigned long') [-Wsign-conversion]
*cut = cut_len;
~ ^~~~~~~
editbuffer.c:518:44: warning: implicit conversion loses integer precision: 'off_t' (aka 'long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32]
g_ptr_array_remove_index (buf->b2, i);
~~~~~~~~~~~~~~~~~~~~~~~~ ^
editbuffer.c:554:44: warning: implicit conversion loses integer precision: 'off_t' (aka 'long') to 'guint' (aka 'unsigned int') [-Wshorten-64-to-32]
g_ptr_array_remove_index (buf->b1, i);
~~~~~~~~~~~~~~~~~~~~~~~~ ^
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:38 +03:00
Andreas Mohr
1b8a5d2196
src/editor/editwidget.c: Cleanup some compiler warnings
...
editwidget.c:808:12: warning: implicit conversion changes signedness: 'gboolean' (aka 'int') to 'cb_ret_t' [-Wsign-conversion]
return ret;
~~~~~~ ^~~
editwidget.c:857:71: warning: implicit conversion changes signedness: 'unsigned char' to 'char' [-Wsign-conversion]
char_for_insertion = convert_from_8bit_to_utf_c2 ((unsigned char) x_key);
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
a5ebb7d619
(etags_set_definition_hash): refactoring:
...
* type accuracy;
* reduce variable scope;
* trivial optimisation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andreas Mohr
a482f38581
Cleanup -Wfloat-conversion warning.
...
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andreas Mohr
2a5b76b09b
(edit_block_copy_cmd): cleanup -Wconditional-uninitialized warning.
...
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andreas Mohr
20ef10038f
(edit_search_fix_search_start_if_selection): cleanup -Wlogical-not-parentheses warning.
...
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Mooffie
0c1e480e05
WPanel should report MSG_NOT_HANDLED for unhandled commands.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
6a0767360d
Sync with gnulib 781788eeb5d4d0b816698e8629300cd90a7379bd.
...
mountlist: recognize autofs-mounted remote file systems, too.
src/filemanager/mountlist.c (ME_REMOTE): Return true if a file system
i named "-hosts" because it is used by autofs to mount remote file
systems.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
a52cb840ae
(tree_chdir, sync_tree): take vfs_path_t object to avoid double conversion of path.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
387f41f9ce
(set_display_type): ret rid of string reduplication.
2016-03-04 09:23:37 +03:00
Andrew Borodin
1fea17b052
(expand_format): ret rid of extra string duplication.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
db1c906ada
(edit_get_file_name): return pointer to const.
2016-03-04 09:23:37 +03:00
Andrew Borodin
3168354217
(put_link): use sizeof() for buffer size.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
4a47f88eac
(put_prog_name): ret rid of extra string duplication.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
a038484a06
(tree_selected_name): return pointer to const.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
f186e2a151
(panel_operate): minor optimisation.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
f292071b35
(panel_operate): ret rid of extra string duplication.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
10ad7aaa22
(panel_operate): fix memory leak.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
f1c56ea55a
Change type of WInfo::ready from int to boolean.
2016-03-04 09:23:37 +03:00
Andrew Borodin
3e2d677d64
info.c: remove uneeded include.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Mooffie
ca28e59d08
Ticket #3587 : "Listing mode" dialog: remove old code.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andreas Mohr
e9f3b526dd
Cleanup: mountlist.c: remove unused read_file_system_list() parameter.
...
need_fs_type and all_fs are never varied.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andreas Mohr
78db983626
Cleanup: args.c: recude function scope for mcedit_arg_*.
...
Reduce to scope for
mcedit_arg_new (const char *file_name, long line_number)
mcedit_arg_vpath_new (vfs_path_t * file_vpath, long line_number)
and move to file scope section.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andreas Mohr
7146508b31
Cleanup: usermenu.c: use const edit_widget.
...
Use const because edit_widget not altered in these functions.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andreas Mohr
fb3d0f13b3
Cleanup: setup.c: reduce function scope.
...
Reduce scope for
void save_config (void);
void save_layout (void);
void panels_load_options (void);
void panels_save_options (void);
and move code to file scope section.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
b8d6d348a3
Fix parameter in load_hint() calls.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
dd60bf40dc
(get_random_hint): modify time measurement.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
bad3171a0a
(edit_symlink_cmd): refactoring.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
6f5fc5d528
(get_random_hint): move to src/filemanager/midnight.c.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
1e302a3c63
(get_random_hint): minor optimisation and type accuracy.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
28ce7e566e
(load_mc_home_file): return data length.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
e3e4382612
(mcview_load): minor optimisation:
...
* read compression type in magic mode only;
* free temporary variables immediately after use.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
ab2ec1b341
(cpio_open_cpio_file): restore file offset after read of magic number.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
e01a89059b
(tar_open_archive_int): restore file offset after read of magic number.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
c4258d453b
Clarify AM_CPPFLAGS.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Mooffie
0d9b120a63
Makefile is missing subshell.h.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andreas Mohr
2d7430b520
Cleanup unused option_edit_*_extreme variables.
...
one-way variables as source for macro definitions
Signed-off-by: Andreas Mohr <and@gmx.li>
2016-03-04 09:23:36 +03:00
Andreas Mohr
c2060a420a
Clarify macro variables for USE_INTERNAL_EDIT.
...
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andreas Mohr
785a2fc6e9
(ftpfs_load_no_proxy_list): cleanup unneeded mc_file static cast.
...
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andreas Mohr
d72390a45d
Cleanup internal filemanager layout variables.
...
_free_space and _xterm_title never used.
_command_prompt, _keybar_visible, _menubar_visible, _message_visible used within layout_callback() only.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andreas Mohr
686ce302bd
Clarify mc_args__debug_level declare.
...
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
1528f8e4c4
src/filemanager/usermenu.c: use gboolean type for boolean variables.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00