ffc65b3827
Reorder check to avoid crash on invalid process field setting
...
If using a setting from a different development version with an
unsupported process field, first dereferencing Process_fields[id] yields
to a crash:
=================================================================
==19530==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000000612800 at pc 0x000000521d1a bp 0x7ffec47a5ff0 sp 0x7ffec47a5fe8
READ of size 8 at 0x000000612800 thread T0
#0 0x521d19 in readFields .htop/Settings.c:107:40
#1 0x51d117 in Settings_read .htop/Settings.c:141:10
#2 0x51c0c4 in Settings_new .htop/Settings.c:382:12
#3 0x4eafe2 in main .htop/htop.c:220:25
#4 0x7fa450570cc9 in __libc_start_main csu/../csu/libc-start.c:308:16
#5 0x427a59 in _start (.htop/htop+0x427a59)
0x000000612800 is located 0 bytes to the right of global variable 'Process_fields' defined in 'linux/LinuxProcess.c:24:18' (0x6118a0) of size 3936
SUMMARY: AddressSanitizer: global-buffer-overflow .htop/Settings.c:107:40 in readFields
Shadow bytes around the buggy address:
0x0000800ba4b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0000800ba4c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0000800ba4d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0000800ba4e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0000800ba4f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0000800ba500:[f9]f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0000800ba510: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0000800ba520: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0000800ba530: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0000800ba540: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0000800ba550: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
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
Shadow gap: cc
==19530==ABORTING
2020-09-17 21:46:22 +02:00
84d39f95c6
autotools: enable warnings and cleanup
...
- enable warnings in autogen script
- drop unused m4/ directory usage
- drop AC_TYPE_SIGNAL:
C99 guarantees the signal return type to be void
- drop AC_CHECK_FILE of procdir:
most of the time compilation is done on a different system than htop is run
and there is a runtime check in place
- improve linux_affinity corss compile logic:
use fourth argument instead of pre-test
2020-09-17 21:45:11 +02:00
37921382f4
Use PROCDIR throughout instead of /proc on Linux
2020-09-17 21:44:27 +02:00
1efddaf1e5
Check for fdopen failure in OpenFilesScreen_getProcessData
2020-09-17 21:43:53 +02:00
b096fdbfc0
Avoid potential buffer overflow in LinuxProcessList_readStatFile
...
Pass size of allocated command buffer and limit write.
2020-09-17 21:43:53 +02:00
95012d6259
Avoid hardcoding of buffer size
2020-09-17 21:43:05 +02:00
443a943798
Properly close pipe handles when work is done
2020-09-17 21:43:05 +02:00
6921000481
Barely ever seen any 1000 digit PIDs …
2020-09-17 21:43:05 +02:00
6646030116
Update creation date to 2004 (thanks rubyFeedback)
...
Closes #140 (doc update)
2020-09-17 09:47:28 +02:00
3a1c698578
Update README with correct tarball locations, ncurses hints and support / bug reporting pointers.
...
Closes #63 (Release URL tarballs)
Closes #61 , Closes #82 (Support requests on ncurses)
Closes #89 (ncurses docs)
Closes #28 (htop-dev vs. -legacy)
2020-09-16 18:10:29 +02:00
2899ed4cb0
Number CPUs from zero by default.
...
Numbering from one is idiosyncratic and inconsistent with basically
everything else in the world; it doesn't make much sense as default
behavior.
All naming is updated to reflect that numbering from one is a
non-default, opt-in option. The old label of the flag saved in htoprc
("cpu_count_from_zero") is still supported for backwards compatibility
with existing configs, however.
2020-09-15 03:25:08 -05:00
a2fef38be7
Merge pull request #130 from gh-fork-dump/no-python
...
configure.ac: axe python check
2020-09-15 15:51:36 +10:00
a852fae8e0
configure.ac: axe python check
...
Now that the automated header script is gone, there's no need for python
now.
2020-09-15 15:19:55 +10:00
da62b44b16
Bump version, changelog for minor htop-3.0.2 release
3.0.2
2020-09-15 09:43:36 +10:00
c9ecd0fa74
Revert the vim_mode setting for now, needs a rethink
...
There have been too many bugs reported in vim_mode, and
the proposed fixes are increasingly fragile - hence we
have decided to back it out for now. For reference:
https://github.com/htop-dev/htop/issues/69
https://github.com/htop-dev/htop/pull/37
https://github.com/htop-dev/htop/pull/106
The whitespace changes also arrived in commit 12805f61d
not sure what that was about, but backed out as well.
2020-09-15 09:33:58 +10:00
f6662f97fd
Merge pull request #120 from cgzones/null
...
Drop always true condition
2020-09-15 09:21:46 +10:00
ccf0960d5c
Merge pull request #123 from hugomg/header-duplicates
...
Clean up some code duplication in the header files
2020-09-14 17:46:18 +10:00
313d7c980c
Merge pull request #127 from gh-fork-dump/openbsd-fix
...
fix building on openbsd due to remaining WhiteList
2020-09-14 17:42:23 +10:00
fd4ada416d
fix building on openbsd due to remaining WhiteList
2020-09-14 13:18:40 +10:00
b6828d7b86
Remove some unused #includes
...
As suggested by cppclean.
2020-09-12 23:32:31 -03:00
a2ef400e43
Merge identical ifdefs in Affinity.h
2020-09-12 19:21:27 -03:00
5ad3c11eaa
Alignment tweak
2020-09-12 19:21:27 -03:00
9207401f97
Clean up some code duplication in the header files
...
PR htop-dev/htop#70 got rid of the infrastructure for generating header
files, but it left behind some code duplication.
Some of cases are things that belong in the header file and don't need
to be repeated in the C file. Other cases are things that belong in the
C file and don't need to be in the header file.
In this commit I tried to fix all of these that I could find. When given
a choice I preferred keeping things out of the header file, unless they
were being used by someone else.
2020-09-12 19:20:44 -03:00
d5eb72e64d
Drop always true condition
...
`env` is allocated by checked allocation functions and can not be NULL.
This checks confuses clang analyzer and causes a null-dereference
warning on `env[size-1]`.
2020-09-12 18:14:39 +02:00
cd55cfd6d2
Merge branch 'BenBE-avoid-shadowing'
2020-09-09 19:41:16 +10:00
35c3a95ff9
Merge branch 'avoid-shadowing' of https://github.com/BenBE/htop into BenBE-avoid-shadowing
2020-09-09 19:40:50 +10:00
06ba81beec
Merge branch 'rgouicem-master'
2020-09-09 19:38:59 +10:00
4d6e4ef53c
Merge branch 'master' of https://github.com/rgouicem/htop into rgouicem-master
2020-09-09 19:38:53 +10:00
4597332959
Switch variable/field naming from WhiteList to MatchList
2020-09-09 19:38:15 +10:00
c5808c56db
Consolidate repeated macro definitions into one header
...
The MIN, MAX, CLAMP, MINIMUM, and MAXIMUM macros appear
throughout the codebase with many re-definitions. Make
a single copy of each in a common header file, and use
the BSD variants of MINIMUM/MAXIMUM due to conflicts in
the system <sys/param.h> headers.
2020-09-09 16:56:04 +10:00
8ec5d4a3a0
Further, minor cleanups to headers post-MakeHeaders
...
Remove leftover empty ifdef/endif pairs, whitespace.
The generated htop.h file was also unused - removed.
2020-09-08 17:33:50 +10:00
eede79b29a
Merge branch 'noheadergen' of https://github.com/zevweiss/htop into zevweiss-noheadergen
2020-09-08 16:45:11 +10:00
13b1e96b12
Avoid shadowing of variables
2020-09-07 17:36:01 +02:00
85ff6960ed
Merge branch 't6-patch-freebsd-ci'
2020-09-07 10:25:50 +10:00
a1f2532630
Merge branch 'patch-freebsd-ci' of https://github.com/t6/htop-1 into t6-patch-freebsd-ci
2020-09-07 10:25:44 +10:00
7805575114
fix for double symbol link error on solaris
2020-09-05 15:34:27 +10:00
f884beda97
htop should report the nice level properly
2020-09-05 15:29:15 +10:00
0750ff7e76
Fix regression in -u optional-argument handling
...
Resolves https://github.com/htop-dev/htop/issues/91
2020-09-04 09:50:18 +10:00
7758ffcdea
Remove duplicate jail_errmsg declaration.
...
Fixes: 11ecc65ebb
2020-09-03 12:00:21 -05:00
7b7822b896
Remove superfluous 'extern's from function declarations.
...
Applied via:
$ find * -name '*.h' -exec sed -i -r 's/^extern (.+\()/\1/;' {} +
Suggested-by: Bert Wesarg <bert.wesarg@googlemail.com >
2020-09-03 11:59:26 -05:00
a1a027b9bd
Axe automated header generation.
...
Reasoning:
- implementation was unsound -- broke down when I added a fairly
basic macro definition expanding to a struct initializer in a *.c
file.
- made it way too easy (e.g. via otherwise totally innocuous git
commands) to end up with timestamps such that it always ran
MakeHeader.py but never used its output, leading to overbuild noise
when running what should be a null 'make'.
- but mostly: it's just an awkward way of dealing with C code.
2020-09-03 11:58:58 -05:00
35d7e42b88
Add FreeBSD to Travis
...
Signed-off-by: Tobias Kortkamp <t@tobik.me >
2020-09-03 09:00:17 +02:00
7734dfe55d
Merge pull request #86 from t6/patch-freebsd-fno-common
...
Unbreak with -fno-common on FreeBSD
2020-09-03 16:47:30 +10:00
11ecc65ebb
Unbreak with -fno-common on FreeBSD
...
GCC10 and Clang11 now default to -fno-common.
ld: error: duplicate symbol: jail_errmsg
>>> defined at Platform.c
>>> freebsd/Platform.o:(jail_errmsg)
>>> defined at FreeBSDProcessList.c
>>> freebsd/FreeBSDProcessList.o:(.bss+0x90)
Signed-off-by: Tobias Kortkamp <t@tobik.me >
2020-09-03 08:42:18 +02:00
dace850fa6
Bump version, changelog for minor htop-3.0.1 release
3.0.1
2020-09-03 13:23:43 +10:00
4f00a95364
Merge pull request #66 from ioquatix/patch-1
...
Fix image logo and titles.
2020-09-03 08:35:19 +10:00
0ab508e42b
Merge pull request #57 from matthiasbeyer/patch-1
...
Do not link INSTALL file, because link target does not exist
2020-09-03 08:20:36 +10:00
f79591ef1b
Merge branch 'eworm-de-unicode-runtime'
2020-09-02 15:09:58 +10:00
746a5f279a
Fix image logo and titles.
2020-09-02 11:54:17 +12:00
8ee7d58cb0
Do not link INSTALL file, because link target does not exist
2020-09-01 14:47:00 +02:00