Task #83629 - less-685-5.fc44/scan-results.err

back to task #83629
download
Error: SHELLCHECK_WARNING (CWE-758):
/etc/profile.d/less.sh:1:1: error[SC2148]: Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.
#    1|-> # less initialization script (sh)
#    2|   
#    3|   # All less.*sh files should have the same semantics!

Error: SHELLCHECK_WARNING (CWE-477):
/usr/bin/lesspipe.sh:125:19: warning[SC2166]: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.
#  123|   		if [ -n "$conv" ]; then
#  124|   			env=`echo $LANG | cut -d. -f2`
#  125|-> 			if [ -n "$env" -a "$conv" != "$env" ]; then
#  126|   				iconv -f $conv -t $env "$1"
#  127|   				exit $?

Error: GCC_ANALYZER_WARNING (CWE-416):
less-685/ch.c: scope_hint: In function ‘ch_delbufs’
less-685/ch.c:85:13: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘*thisfile.buflist.next’
less-685/ch.c:809:17: note: in expansion of macro ‘BUF_RM’
less-685/ch.c:809:17: note: in expansion of macro ‘BUF_RM’
less-685/ch.c:809:17: note: in expansion of macro ‘BUF_RM’
less-685/ch.c:809:17: note: in expansion of macro ‘BUF_RM’
less-685/ch.c:809:17: note: in expansion of macro ‘BUF_RM’
#   83|   
#   84|   #define BUF_RM(bn) \
#   85|-> 	(bn)->next->prev = (bn)->prev; \
#   86|   	(bn)->prev->next = (bn)->next;
#   87|   

Error: CLANG_WARNING:
less-685/ch.c:226:40: warning[core.NullDereference]: Access to field 'datasize' results in a dereference of an undefined pointer value (loaded from variable 'bp')
#  224|   		lbool read_again;
#  225|   		POSITION len;
#  226|-> 		POSITION pos = ch_position(ch_block, bp->datasize);
#  227|   		lbool read_pipe_at_eof = FALSE;
#  228|   		if ((len = ch_length()) != NULL_POSITION && pos >= len)

Error: COMPILER_WARNING (CWE-252):
less-685/ch.c: scope_hint: In function ‘ch_get’
less-685/ch.c:311:33: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
#  311 |                                 write(logfile, &bp->data[bp->datasize], (size_t) n);
#      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  309|   		{
#  310|   			if (logfile >= 0 && n > 0)
#  311|-> 				write(logfile, &bp->data[bp->datasize], (size_t) n);
#  312|   		}
#  313|   #endif

Error: COMPILER_WARNING (CWE-252):
less-685/ch.c: scope_hint: In function ‘sync_logfile’
less-685/ch.c:448:33: warning[-Wunused-result]: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
#  448 |                                 write(logfile, bp->data, bp->datasize);
#      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  446|   			if (bp->block == block)
#  447|   			{
#  448|-> 				write(logfile, bp->data, bp->datasize);
#  449|   				wrote = TRUE;
#  450|   				break;

Error: CLANG_WARNING:
less-685/ch.c:809:3: warning[unix.Malloc]: Use of memory after it is freed
#  807|   	{
#  808|   		bn = ch_bufhead;
#  809|-> 		BUF_RM(bn);
#  810|   		free(bufnode_buf(bn));
#  811|   	}

Error: CLANG_WARNING:
less-685/decode.c:1015:31: warning[unix.MallocSizeof]: Result of 'calloc' is converted to a pointer of type 'unsigned char', which is incompatible with sizeof operand type 'char'
# 1013|   		return (-1);
# 1014|   	}
# 1015|-> 	if ((buf = (unsigned char *) calloc((size_t)len, sizeof(char))) == NULL)
# 1016|   	{
# 1017|   		close(f);

Error: COMPILER_WARNING (CWE-457):
less-685/edit.c:611:9: warning[-Wmaybe-uninitialized]: ‘alt_filename’ may be used uninitialized
#  611 |         set_altfilename(curr_ifile, alt_filename);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
less-685/edit.c:442:15: note: ‘alt_filename’ was declared here
#  442 |         char *alt_filename;
#      |               ^~~~~~~~~~~~
#  609|   	curr_ifile = ifile;
#  610|   	soft_eof = NULL_POSITION;
#  611|-> 	set_altfilename(curr_ifile, alt_filename);
#  612|   	set_altpipe(curr_ifile, altpipe);
#  613|   	set_open(curr_ifile); /* File has been opened */

Error: COMPILER_WARNING (CWE-457):
less-685/edit.c: scope_hint: In function ‘edit_ifile’
less-685/edit.c:615:9: warning[-Wmaybe-uninitialized]: ‘chflags’ may be used uninitialized
#  615 |         ch_init(f, chflags, nread);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
less-685/edit.c:439:13: note: ‘chflags’ was declared here
#  439 |         int chflags;
#      |             ^~~~~~~
#  613|   	set_open(curr_ifile); /* File has been opened */
#  614|   	get_pos(curr_ifile, &initial_scrpos);
#  615|-> 	ch_init(f, chflags, nread);
#  616|   	consecutive_nulls = 0;
#  617|   	check_modelines();

Error: COMPILER_WARNING (CWE-457):
less-685/edit.c:629:21: warning[-Wmaybe-uninitialized]: ‘open_filename’ may be used uninitialized
#  629 |                 if (strcmp(open_filename, "-") != 0)
#      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
less-685/edit.c:441:24: note: ‘open_filename’ was declared here
#  441 |         constant char *open_filename;
#      |                        ^~~~~~~~~~~~~
#  627|   #if HAVE_STAT_INO
#  628|   		/* Remember the i-number and device of the opened file. */
#  629|-> 		if (strcmp(open_filename, "-") != 0)
#  630|   		{
#  631|   			struct stat statbuf;

Error: COMPILER_WARNING (CWE-457):
less-685/edit.c:665:21: warning[-Wmaybe-uninitialized]: ‘filename’ may be used uninitialized
#  665 |                 if (strcmp(filename, FAKE_HELPFILE) && strcmp(filename, FAKE_EMPTYFILE))
#      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
less-685/edit.c:440:24: note: ‘filename’ was declared here
#  440 |         constant char *filename;
#      |                        ^~~~~~~~
#  663|   		undo_osc8();
#  664|   		hshift = 0;
#  665|-> 		if (strcmp(filename, FAKE_HELPFILE) && strcmp(filename, FAKE_EMPTYFILE))
#  666|   		{
#  667|   			char *qfilename = shell_quote(filename);

Error: CLANG_WARNING:
less-685/edit.c:986:7: warning[unix.StdCLibraryFunctions]: The 1st argument to 'lseek' is -1 but should be >= 0
#  984|   		 */
#  985|   		logfile = open(filename, OPEN_APPEND);
#  986|-> 		if (less_lseek(logfile, (less_off_t)0, SEEK_END) == BAD_LSEEK)
#  987|   		{
#  988|   			close(logfile);

Error: CLANG_WARNING:
less-685/input.c:152:3: warning[deadcode.DeadStores]: Value stored to 'new_pos' is never read
#  150|   		plinestart(base_pos);
#  151|   		ch_seek(curr_pos);
#  152|-> 		new_pos = curr_pos;
#  153|   	} else
#  154|   	{

Error: CLANG_WARNING:
less-685/input.c:535:8: warning[deadcode.DeadStores]: Value stored to 'edisp_pos' is never read
#  533|   							if (c == '\n')
#  534|   								new_pos++;
#  535|-> 							edisp_pos = new_pos;
#  536|   							break;
#  537|   						}

Error: CLANG_WARNING:
less-685/jump.c:145:7: warning[deadcode.DeadStores]: Although the value stored to 'len' is used in the enclosing expression, the value is never actually read from 'len'
#  143|   	 * (the specified percentage of the file's length).
#  144|   	 */
#  145|-> 	if ((len = ch_length()) == NULL_POSITION)
#  146|   	{
#  147|   		ierror("Determining length of file", NULL_PARG);

Error: CLANG_WARNING:
less-685/lesskey_parse.c:323:9: warning[core.CallAndMessage]: 1st function call argument is an uninitialized value
#  321|   static char * skipsp(char *s)
#  322|   {
#  323|-> 	while (issp(*s))
#  324|   		s++;
#  325|   	return (s);

Error: CLANG_WARNING:
less-685/lesskey_parse.c:668:2: warning[unix.Stream]: Opened stream never closed. Potential resource leak
#  666|   			fclose(desc);
#  667|   	}
#  668|-> 	free(lesskey_file);
#  669|   	lesskey_file = NULL;
#  670|   	return (errors);

Error: CLANG_WARNING:
less-685/line.c:1594:5: warning[deadcode.DeadStores]: Value stored to 'prev_ch' is never read
# 1592|   				else
# 1593|   					cw = pwidth(wch, attr, prev_ch, attr);
# 1594|-> 				prev_ch = wch;
# 1595|   			}
# 1596|   		} else

Error: CPPCHECK_WARNING (CWE-457):
less-685/line.c:1932: warning[uninitvar]: Uninitialized variable: pos
# 1930|   		if ((pos = position(sline)) != NULL_POSITION)
# 1931|   			break;
# 1932|-> 	for (; sline < sc_height && pos != NULL_POSITION; sline++)
# 1933|   	{
# 1934|   		pos = forw_line(pos, NULL, NULL);

Error: GCC_ANALYZER_WARNING (CWE-476):
less-685/linenum.c: scope_hint: In function ‘add_lnum’
less-685/linenum.c:197:22: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
less-685/linenum.c: scope_hint: In function ‘add_lnum’
#  195|   			}
#  196|   		}
#  197|-> 		spare->next->prev = spare->prev;
#  198|   		spare->prev->next = spare->next;
#  199|   	}

Error: CLANG_WARNING:
less-685/linenum.c:197:23: warning[core.NullDereference]: Access to field 'prev' results in a dereference of a null pointer (loaded from variable 'spare')
#  195|   			}
#  196|   		}
#  197|-> 		spare->next->prev = spare->prev;
#  198|   		spare->prev->next = spare->next;
#  199|   	}

Error: CLANG_WARNING:
less-685/lsystem.c:118:3: warning[unix.StdCLibraryFunctions]: The 1st argument to 'dup' is -1 but should be >= 0
#  116|   	if (open_tty() < 0)
#  117|   #endif
#  118|-> 		dup(inp);
#  119|   #endif
#  120|   

Error: GCC_ANALYZER_WARNING:
less-685/lsystem.c: scope_hint: In function ‘lsystem’
less-685/lsystem.c:118:17: warning[-Wanalyzer-fd-use-without-check]: ‘dup’ on possibly invalid file descriptor ‘inp’
#  116|   	if (open_tty() < 0)
#  117|   #endif
#  118|-> 		dup(inp);
#  119|   #endif
#  120|   

Error: COMPILER_WARNING (CWE-252):
less-685/lsystem.c: scope_hint: In function ‘lsystem’
less-685/lsystem.c:118:17: warning[-Wunused-result]: ignoring return value of ‘dup’ declared with attribute ‘warn_unused_result’
#  118 |                 dup(inp);
#      |                 ^~~~~~~~
#  116|   	if (open_tty() < 0)
#  117|   #endif
#  118|-> 		dup(inp);
#  119|   #endif
#  120|   

Error: COMPILER_WARNING (CWE-252):
less-685/lsystem.c:152:9: warning[-Wunused-result]: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’
#  152 |         system(p);
#      |         ^~~~~~~~~
#  150|   			p = save(cmd);
#  151|   	}
#  152|-> 	system(p);
#  153|   	free(p);
#  154|   #else

Error: GCC_ANALYZER_WARNING (CWE-1341):
less-685/lsystem.c:176:9: warning[-Wanalyzer-fd-double-close]: double ‘close’ of file descriptor ‘0’
#  174|   	 * Restore standard input, reset signals, raw mode, etc.
#  175|   	 */
#  176|-> 	close(0);
#  177|   	dup(inp);
#  178|   	close(inp);

Error: CLANG_WARNING:
less-685/lsystem.c:177:2: warning[unix.StdCLibraryFunctions]: The 1st argument to 'dup' is -1 but should be >= 0
#  175|   	 */
#  176|   	close(0);
#  177|-> 	dup(inp);
#  178|   	close(inp);
#  179|   #endif

Error: GCC_ANALYZER_WARNING:
less-685/lsystem.c:177:9: warning[-Wanalyzer-fd-use-without-check]: ‘dup’ on possibly invalid file descriptor ‘inp’
#  175|   	 */
#  176|   	close(0);
#  177|-> 	dup(inp);
#  178|   	close(inp);
#  179|   #endif

Error: COMPILER_WARNING (CWE-252):
less-685/lsystem.c:177:9: warning[-Wunused-result]: ignoring return value of ‘dup’ declared with attribute ‘warn_unused_result’
#  177 |         dup(inp);
#      |         ^~~~~~~~
#  175|   	 */
#  176|   	close(0);
#  177|-> 	dup(inp);
#  178|   	close(inp);
#  179|   #endif

Error: CPPCHECK_WARNING (CWE-909):
less-685/position.c:127: error[uninitStructMember]: Uninitialized struct member: scrpos.ln
#  125|   	pos_clear();
#  126|   	if (scrpos.pos != NULL_POSITION)
#  127|-> 		table[scrpos.ln-1] = scrpos.pos;
#  128|   }
#  129|   

Error: CLANG_WARNING:
less-685/search.c:2288:50: warning[core.UndefinedBinaryOperatorResult]: The left operand of '>' is a garbage value
# 2286|   			if (result < 0)
# 2287|   				return;
# 2288|-> 			if (nprep_endpos == NULL_POSITION || new_epos > nprep_endpos)
# 2289|   				nprep_endpos = new_epos;
# 2290|   

Error: CLANG_WARNING:
less-685/search.c:2289:18: warning[core.uninitialized.Assign]: Assigned value is uninitialized
# 2287|   				return;
# 2288|   			if (nprep_endpos == NULL_POSITION || new_epos > nprep_endpos)
# 2289|-> 				nprep_endpos = new_epos;
# 2290|   
# 2291|   			/*

Error: GCC_ANALYZER_WARNING (CWE-131):
less-685/tags.c: scope_hint: In function ‘findctag’
less-685/tags.c:79:20: warning[-Wanalyzer-allocation-size]: allocated buffer size is not a multiple of the pointee's size
less-685/tags.c:357:17: note: in expansion of macro ‘TAG_INS’
less-685/tags.c:357:17: note: in expansion of macro ‘TAG_INS’
#   77|   
#   78|   #define TAG_INS(tp) \
#   79|-> 	(tp)->next = TAG_END; \
#   80|   	(tp)->prev = taglist.tl_last; \
#   81|   	taglist.tl_last->next = (tp); \

Error: GCC_ANALYZER_WARNING (CWE-416):
less-685/tags.c: scope_hint: In function ‘cleantags’
less-685/tags.c:85:13: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘tp’
less-685/tags.c:102:17: note: in expansion of macro ‘TAG_RM’
less-685/tags.c:102:17: note: in expansion of macro ‘TAG_RM’
less-685/tags.c:102:17: note: in expansion of macro ‘TAG_RM’
less-685/tags.c:102:17: note: in expansion of macro ‘TAG_RM’
less-685/tags.c:102:17: note: in expansion of macro ‘TAG_RM’
#   83|   
#   84|   #define TAG_RM(tp) \
#   85|-> 	(tp)->next->prev = (tp)->prev; \
#   86|   	(tp)->prev->next = (tp)->next;
#   87|   

Error: CLANG_WARNING:
less-685/tags.c:102:3: warning[unix.Malloc]: Use of memory after it is freed
#  100|   	while ((tp = taglist.tl_first) != TAG_END)
#  101|   	{
#  102|-> 		TAG_RM(tp);
#  103|   		free(tp->tag_file);
#  104|   		free(tp->tag_pattern);

Error: GCC_ANALYZER_WARNING (CWE-415):
less-685/tags.c:103:17: warning[-Wanalyzer-double-free]: double-‘free’ of ‘*tp.tag_file’
less-685/tags.c:102:17: note: in expansion of macro ‘TAG_RM’
less-685/tags.c:102:17: note: in expansion of macro ‘TAG_RM’
#  101|   	{
#  102|   		TAG_RM(tp);
#  103|-> 		free(tp->tag_file);
#  104|   		free(tp->tag_pattern);
#  105|   		free(tp);

Error: GCC_ANALYZER_WARNING (CWE-415):
less-685/tags.c:104:17: warning[-Wanalyzer-double-free]: double-‘free’ of ‘*tp.tag_pattern’
less-685/tags.c:102:17: note: in expansion of macro ‘TAG_RM’
less-685/tags.c:102:17: note: in expansion of macro ‘TAG_RM’
#  102|   		TAG_RM(tp);
#  103|   		free(tp->tag_file);
#  104|-> 		free(tp->tag_pattern);
#  105|   		free(tp);
#  106|   	}

Error: GCC_ANALYZER_WARNING (CWE-401):
less-685/tags.c: scope_hint: In function ‘findgtag’
less-685/tags.c:491:24: warning[-Wanalyzer-malloc-leak]: leak of ‘fp’
#  489|   
#  490|   	if (type != T_CTAGS_X && tag == NULL)
#  491|-> 		return TAG_NOFILE;
#  492|   
#  493|   	cleantags();