Commit Graph

2382 Commits

Author SHA1 Message Date
Tatsuya Kinoshita
4d813002c3 Fix potential overflow in checkType 2022-12-20 21:16:53 +09:00
Tatsuya Kinoshita
419ca82d57 Fix m17n backspace handling causes out-of-bounds write in checkType
[CVE-2022-38223]
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1019599
Bug-Debian: https://github.com/tats/w3m/issues/242
2022-12-20 21:16:48 +09:00
Trafficone
57dfbe309c Minor Fixes of English Docs (#1)
* Translating Documentation

* Create README.SSL from doc-jp

* Clarified wording on some functions

* Clarified English in README.img

* Created README.keymap

* Translated README.menu

* Minor grammar changes
2022-11-29 00:07:55 +09:00
nico
4922d25917 Add high-intensity colors option and cli flag. 2022-11-19 13:39:15 -03:00
Sam James
11fd7ffb21 acinclude.m4: fix configure tests broken with Clang 16 (implicit function declarations)
Clang 16 will make -Wimplicit-int and -Wimplicit-function-declaration
errors by default which can, in addition to other things, lead to
some configure tests silently failing/returning the wrong result.

For more information, see LWN.net [0] or LLVM's Discourse [1], gentoo-dev@ [2],
or the (new) c-std-porting mailing list [3].

[0] https://lwn.net/Articles/913505/
[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
[2] https://archives.gentoo.org/gentoo-dev/message/dd9f2d3082b8b6f8dfbccb0639e6e240
[3] hosted at lists.linux.dev.

Signed-off-by: Sam James <sam@gentoo.org>
2022-11-05 06:22:34 +00:00
Rin Okuyama
8d7db37efc For sixel, no need to round image size to multiple of character size.
With this fix combined with fix to libsixel:

https://github.com/saitoha/libsixel/pull/170

browsing on slow machines (e.g., when floating-point calculation is
emulated by kernel) gets significantly speed up.

Note that if i->cache->a_width (i->cache->a_height) is zero, width
(height) should be set to zero. Otherwise, image in screen boundary
(i.e., partially displayed) becomes strangely resized.
2022-09-02 21:07:11 +09:00
Rin Okuyama
01b8ac418b Display resized image for OSC 5379 (mlterm).
Previously, some images, e.g., Google logo on its top page, are not
displayed at all for OSC 5379 (mlterm).
2022-09-02 17:47:16 +09:00
Yash Lala
4c8f4f6cd9 Use Strnew_charp() to create char * instead of strdup(). 2022-06-03 17:04:07 -07:00
Yash Lala
f812275fe6 refactor: Substitute some clunky code with a strdup(). 2022-06-02 17:47:05 -07:00
Rene Kita
8f3fcecc43 Retry if loading of a file fails
This fixes GH issue #210, Debian BTS #537761[1] and obsoletes Debian
BTS #946440[2].

File names like 'a#a.html', 'b?b.html' or 'c%20.html' can not be opened
without using '-o argv_is_url=1' as the file name is interpreted as a
local URL.

If everything fails and argv_is_url is not set retry as a local file.

[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=537761
[2]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946440
2022-05-02 13:35:51 +02:00
Rene Kita
a2bd584934 Use the comment character in Examples 2022-05-01 12:04:23 +02:00
Rene Kita
b21b50b1dd Say what the comment character is 2022-05-01 12:04:23 +02:00
Rene Kita
4486ac99bc Add GitHub Action to build source when pushing
Let's at least ensure that the source builds without warnings.

The build image used, Ubuntu, spits out quite some warnings about
ignored return values. Use '-Wno-unused-result' for now.

The configure options are chosen to resemble the default Debian version.
2022-05-01 11:50:23 +02:00
Rene Kita
9192ed59db Add option to set directory for temporary files
With this patch applied the user can configure a directory to store
temporary/cache files. The history and cookies remain in RC_DIR.

I suppose the intent of writing the history to a temp file first is to
make the actual write an atomic operation. As rename() does not work
across mount points, we need to handle the temp file for the history
different to keep this behaviour.

Add a new type for the temp history file and handle this case different
when creating a temp file.
2022-05-01 11:50:09 +02:00
NRK
235241e5fc remove duplicate declaration 2022-04-29 20:18:11 +06:00
NRK
faeebc076c fix all -Wmissing-prototypes warnings 2022-04-29 15:59:13 +06:00
NRK
d9284b1193 fix some -Wstrict-prototypes warnings 2022-04-29 15:59:13 +06:00
Tatsuya Kinoshita
c515ea8a47 Update ChangeLog 2022-04-29 10:25:54 +09:00
Tatsuya Kinoshita
fecf81b2db Update NEWS for w3m 0.5.3+git20220429 2022-04-29 10:20:09 +09:00
Tatsuya Kinoshita
cf9ec99fe6 Update config.* with autotools-dev 20220109.1 2022-04-29 10:19:04 +09:00
Tatsuya Kinoshita
a1ae7a95f9 Update ChangeLog 2022-04-25 19:51:07 +09:00
Tatsuya Kinoshita
aa67e886c7 Merge pull request #231 from N-R-K/cppcheck_fixes
Cppcheck fixes
2022-04-25 19:49:34 +09:00
NRK
b155c9f759 check bound _before_ making access 2022-04-24 06:26:32 +06:00
NRK
b2ce5a9c54 ensure map isn't NULL
main.c:1460:22: warning: Possible null pointer dereference: map [nullPointer]
	    w3mFuncList[(int)map[c]].func();
	                     ^
	main.c:1503:24: note: Calling function 'escKeyProc', 3rd argument 'NULL' value is 0
	 escKeyProc((int)c, 0, NULL);
	                       ^
	main.c:1438:25: note: Assuming condition is Assuming condition is false
	    if (CurrentKey >= 0 && CurrentKey & K_MULTI) {
	                        ^
	main.c:1460:22: note: Null pointer dereference
	    w3mFuncList[(int)map[c]].func();
	                     ^
2022-04-24 06:17:44 +06:00
NRK
3ab68dd361 properly close va_list 2022-04-24 06:10:12 +06:00
Tatsuya Kinoshita
f119108d61 Update ChangeLog 2022-04-19 20:07:44 +09:00
Tatsuya Kinoshita
dbf19bab3c Merge pull request #230 from rkta/warnings
Fix some more warnings
2022-04-19 19:59:44 +09:00
Tatsuya Kinoshita
fa57b07002 Merge pull request #229 from rkta/null
Fix all warnings when building with -Wnull-dereference
2022-04-19 19:59:19 +09:00
Tatsuya Kinoshita
a582349397 Merge pull request #227 from rkta/linknumbers_at_eol
Fix broken anchor with link number at EOL
2022-04-19 19:58:55 +09:00
Rene Kita
a3b9887113 Enable -Wnull-dereference by default 2022-04-19 10:08:54 +02:00
Rene Kita
e8a41ecfcc Exit if we cannot allocate a new tab during start 2022-04-19 10:08:54 +02:00
Rene Kita
e6998fc9a4 Fix potential null dereference 2022-04-19 10:08:54 +02:00
Rene Kita
80642d1fe7 Fix potential null dereference 2022-04-19 10:08:54 +02:00
Rene Kita
a0b3c1b467 Fix potential null dereference 2022-04-19 10:08:54 +02:00
Rene Kita
9eaf044c02 Check return value of Str... functions
All these functions, StrmyUFgets, StrISgets, etc. can potentially return
NULL. Add a check for it.
2022-04-19 10:08:54 +02:00
Rene Kita
d33a522936 Fix potential null pointer dereference 2022-04-19 10:08:54 +02:00
Rene Kita
1308f5efe5 Check for NULL before dereferencing the pointer
In case of an error the whole frame is freed, break out of the loop to
return early.
2022-04-19 10:08:54 +02:00
Rene Kita
9f5c311e45 Do not call fclose() on a NULL pointer
The if clause is true if cache is NULL. man 3 fclose says:

  The  behaviour  of  fclose() is undefined if the stream parameter is an
  illegal pointer, or is a descriptor already passed to a previous  invo‐
  cation of fclose().

Check if cache is NULL before calling fclose().
2022-04-19 10:08:54 +02:00
Rene Kita
1365cc1ecc Check for NULL before dereferencing a pointer
l is part of the exit condition of the while loop. If we exit the loop
because l is NULL, we cannot dereference it.
2022-04-19 10:08:54 +02:00
Rene Kita
6432709b80 Check for NULL before dereferencing a pointer
get_auth_param() returns NULL in case of error.
2022-04-19 10:08:54 +02:00
Rene Kita
22d1fb47ac Remove null pointer dereference
This if is only true if both strchr return NULL, making sure that *q is
a NULL dereference.

The intention was to remove trailing '>' (or '\t') from the message-id
(p) for add_news_message().

Adjust the condition.
2022-04-19 10:03:13 +02:00
Rene Kita
beb07d24bc Fix a warning about an unused variable
*xi is only used if USE_IMLIB is defined, move the declaration inside
the #ifdef block.
2022-04-18 11:42:05 +02:00
Rene Kita
6d1a8d44e2 Cast away a warning
strlen() takes a char *, but p is a unsigned char *.
2022-04-18 11:42:05 +02:00
Rene Kita
9a2b86088c Fix broken anchor with link number at EOL
If, while adding the link number, we detect that we need to flush the
line, the anchor will be broken. When returning to the last breakpoint
only the link number will be removed, the internal anchor reference '<a
hseq=... >' remains on the flushed line.

Instead of adding the link number in a separate operation, check if we
just processed an anchor tag and prepend the current token with the link
number.
2022-04-17 16:04:41 +02:00
Tatsuya Kinoshita
fa6da6a0fa Update ChangeLog 2022-04-15 21:20:11 +09:00
Tatsuya Kinoshita
238b77f0fa Allow building without terminal library
This reverts commit 0d3416e0c2.
cf. https://github.com/tats/w3m/pull/221
Bug-Chromium: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=46629
2022-04-15 21:07:40 +09:00
Tatsuya Kinoshita
6338651e22 Allow building without Perl
This reverts commit a0c8de3f3f.
cf. https://github.com/tats/w3m/pull/221
2022-04-15 21:07:30 +09:00
Tatsuya Kinoshita
15c77e3687 Do not reject FreeBSD framebuffer
This reverts commit cb3118b389.
cf. https://github.com/tats/w3m/pull/221
2022-04-15 21:07:02 +09:00
Tatsuya Kinoshita
006871f44c Update ChangeLog 2022-04-10 11:47:54 +09:00
Tatsuya Kinoshita
020f626a95 Remove unused encodeB declaration 2022-04-10 10:07:27 +09:00