Coverity-updates archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

New Defects reported by Coverity Scan for NetBSD-amd64-user



Hi,
Please find the latest report on new defect(s) introduced to NetBSD-amd64-user found with Coverity Scan.
28 new defect(s) introduced to NetBSD-amd64-user found with Coverity Scan.
39 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.
New defect(s) Reported-by: Coverity Scan
Showing 20 of 28 defect(s)
** CID 420802: Resource leaks (RESOURCE_LEAK)
/external/gpl3/gdb/dist/gdb/breakpoint.c: 9657 in create_breakpoint()
________________________________________________________________________________________________________
*** CID 420802: Resource leaks (RESOURCE_LEAK)
/external/gpl3/gdb/dist/gdb/breakpoint.c: 9657 in create_breakpoint()
9651 else
9652 	throw_exception (e);
9653 }
9654 END_CATCH
9655 
9656 if (VEC_empty (linespec_sals, canonical.sals))
>>> CID 420802: Resource leaks (RESOURCE_LEAK)
>>> Variable "copy_arg" going out of scope leaks the storage it points to.
9657 return 0;
9658 
9659 /* Create a chain of things that always need to be cleaned up. */
9660 old_chain = make_cleanup_destroy_linespec_result (&canonical);
9661 
9662 /* ----------------------------- SNIP -----------------------------
** CID 1025004: Security best practices violations (TOCTOU)
/usr.bin/make/meta.c: 437 in meta_create()
________________________________________________________________________________________________________
*** CID 1025004: Security best practices violations (TOCTOU)
/usr.bin/make/meta.c: 437 in meta_create()
431 	 fprintf(debug_file, "Skipping meta for %s: no commands\n",
432 		 gn->name);
433 	goto out;
434 }
435 
436 /* make sure these are canonical */
>>> CID 1025004: Security best practices violations (TOCTOU)
>>> Calling function "realpath" that uses "dname" after a check function. This can cause a time-of-check, time-of-use race condition.
437 if (realpath(dname, objdir))
438 	dname = objdir;
439 
440 /* If we aren't in the object directory, don't create a meta file. */
441 if (!metaCurdirOk && strcmp(curdir, dname) == 0) {
442 	if (DEBUG(META))
** CID 1025006: Null pointer dereferences (REVERSE_INULL)
/usr.bin/make/meta.c: 703 in meta_job_error()
________________________________________________________________________________________________________
*** CID 1025006: Null pointer dereferences (REVERSE_INULL)
/usr.bin/make/meta.c: 703 in meta_job_error()
697 }
698 if (gn) {
699 	Var_Set(".ERROR_TARGET", gn->path ? gn->path : gn->name, VAR_GLOBAL, 0);
700 }
701 getcwd(cwd, sizeof(cwd));
702 Var_Set(".ERROR_CWD", cwd, VAR_GLOBAL, 0);
>>> CID 1025006: Null pointer dereferences (REVERSE_INULL)
>>> Null-checking "pbm" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
703 if (pbm && pbm->meta_fname[0]) {
704 	Var_Set(".ERROR_META_FILE", pbm->meta_fname, VAR_GLOBAL, 0);
705 }
706 meta_job_finish(job);
707 }
708 
** CID 1025007: (RESOURCE_LEAK)
/usr.bin/make/meta.c: 1393 in meta_oodate()
/usr.bin/make/meta.c: 1393 in meta_oodate()
________________________________________________________________________________________________________
*** CID 1025007: (RESOURCE_LEAK)
/usr.bin/make/meta.c: 1393 in meta_oodate()
1387 	 * All we can sanely do is set it to .ALLSRC.
1388 	 */
1389 	Var_Delete(OODATE, gn);
1390 	Var_Set(OODATE, Var_Value(ALLSRC, gn, &cp), gn, 0);
1391 	free(cp);
1392 }
>>> CID 1025007: (RESOURCE_LEAK)
>>> Variable "missingFiles" going out of scope leaks the storage it points to.
1393 return oodate;
1394 }
1395 
1396 /* support for compat mode */
1397 
1398 static int childPipe[2];
/usr.bin/make/meta.c: 1393 in meta_oodate()
1387 	 * All we can sanely do is set it to .ALLSRC.
1388 	 */
1389 	Var_Delete(OODATE, gn);
1390 	Var_Set(OODATE, Var_Value(ALLSRC, gn, &cp), gn, 0);
1391 	free(cp);
1392 }
>>> CID 1025007: (RESOURCE_LEAK)
>>> Variable "missingFiles" going out of scope leaks the storage it points to.
1393 return oodate;
1394 }
1395 
1396 /* support for compat mode */
1397 
1398 static int childPipe[2];
** CID 1025008: (RESOURCE_LEAK)
/usr.bin/make/meta.c: 614 in meta_mode_init()
/usr.bin/make/meta.c: 620 in meta_mode_init()
________________________________________________________________________________________________________
*** CID 1025008: (RESOURCE_LEAK)
/usr.bin/make/meta.c: 614 in meta_mode_init()
608 /*
609 * We ignore any paths that start with ${.MAKE.META.IGNORE_PATHS}
610 */
611 metaIgnorePaths = Lst_Init(FALSE);
612 Var_Append(MAKE_META_IGNORE_PATHS,
613 	 "/dev /etc /proc /tmp /var/run /var/tmp ${TMPDIR}", VAR_GLOBAL);
>>> CID 1025008: (RESOURCE_LEAK)
>>> Overwriting "cp" in "cp = Var_Subst(NULL, "${.MAKE.META.IGNORE_PATHS:O:u:tA}", VAR_GLOBAL, 2)" leaks the storage that "cp" points to.
614 cp = Var_Subst(NULL,
615 		 "${" MAKE_META_IGNORE_PATHS ":O:u:tA}", VAR_GLOBAL,
616 		 VARF_WANTRES);
617 if (cp) {
618 	str2Lst_Append(metaIgnorePaths, cp, NULL);
619 }
/usr.bin/make/meta.c: 620 in meta_mode_init()
614 cp = Var_Subst(NULL,
615 		 "${" MAKE_META_IGNORE_PATHS ":O:u:tA}", VAR_GLOBAL,
616 		 VARF_WANTRES);
617 if (cp) {
618 	str2Lst_Append(metaIgnorePaths, cp, NULL);
619 }
>>> CID 1025008: (RESOURCE_LEAK)
>>> Variable "cp" going out of scope leaks the storage it points to.
620 }
621 
622 /*
623 * In each case below we allow for job==NULL
624 */
625 void
** CID 1025009: Null pointer dereferences (FORWARD_NULL)
/usr.bin/make/meta.c: 689 in meta_job_error()
________________________________________________________________________________________________________
*** CID 1025009: Null pointer dereferences (FORWARD_NULL)
/usr.bin/make/meta.c: 689 in meta_job_error()
683 BuildMon *pbm;
684 
685 if (job != NULL) {
686 	pbm = &job->bm;
687 } else {
688 	if (!gn)
>>> CID 1025009: Null pointer dereferences (FORWARD_NULL)
>>> Dereferencing null pointer "job".
689 	 gn = job->node;
690 	pbm = &Mybm;
691 }
692 if (pbm->mfp != NULL) {
693 	fprintf(pbm->mfp, "*** Error code %d%s\n",
694 		status,
** CID 1249927: Insecure data handling (TAINTED_SCALAR)
/external/gpl3/gdb/dist/gdb/exec.c: 375 in exec_file_command()
________________________________________________________________________________________________________
*** CID 1249927: Insecure data handling (TAINTED_SCALAR)
/external/gpl3/gdb/dist/gdb/exec.c: 375 in exec_file_command()
369 for (; (*argv != NULL) && (**argv == '-'); argv++)
370 {;
371 }
372 if (*argv == NULL)
373 error (_("No executable file name was specified"));
374 
>>> CID 1249927: Insecure data handling (TAINTED_SCALAR)
>>> Assigning: "filename" = "tilde_expand", which taints "filename".
375 filename = tilde_expand (*argv);
376 make_cleanup (xfree, filename);
377 exec_file_attach (filename, from_tty);
378 
379 do_cleanups (cleanups);
380 }
** CID 1354291: Control flow issues (DEADCODE)
/external/gpl3/gdb/dist/gdb/common/fileio.c: 97 in fileio_to_host_openflags()
________________________________________________________________________________________________________
*** CID 1354291: Control flow issues (DEADCODE)
/external/gpl3/gdb/dist/gdb/common/fileio.c: 97 in fileio_to_host_openflags()
91 open_flags |= O_EXCL;
92 if (fileio_open_flags & FILEIO_O_TRUNC)
93 open_flags |= O_TRUNC;
94 if (fileio_open_flags & FILEIO_O_APPEND)
95 open_flags |= O_APPEND;
96 if (fileio_open_flags & FILEIO_O_RDONLY)
>>> CID 1354291: Control flow issues (DEADCODE)
>>> Execution cannot reach this statement: "open_flags |= 0;".
97 open_flags |= O_RDONLY;
98 if (fileio_open_flags & FILEIO_O_WRONLY)
99 open_flags |= O_WRONLY;
100 if (fileio_open_flags & FILEIO_O_RDWR)
101 open_flags |= O_RDWR;
102 /* On systems supporting binary and text mode, always open files
** CID 1354292: Control flow issues (MISSING_BREAK)
/external/gpl3/gdb/dist/bfd/reloc.c: 7491 in bfd_default_reloc_type_lookup()
________________________________________________________________________________________________________
*** CID 1354292: Control flow issues (MISSING_BREAK)
/external/gpl3/gdb/dist/bfd/reloc.c: 7491 in bfd_default_reloc_type_lookup()
7485 	 return &bfd_howto_32;
7486 	case 16:
7487 	 BFD_FAIL ();
7488 	default:
7489 	 BFD_FAIL ();
7490 	}
>>> CID 1354292: Control flow issues (MISSING_BREAK)
>>> The above case falls through to this one.
7491 default:
7492 BFD_FAIL ();
7493 }
7494 return NULL;
7495 }
7496 
** CID 1354293: Integer handling issues (NEGATIVE_RETURNS)
________________________________________________________________________________________________________
*** CID 1354293: Integer handling issues (NEGATIVE_RETURNS)
/bin/sh/parser.c: 728 in parseheredoc()
722 		here = heredoclist;
723 		heredoclist = here->next;
724 		if (needprompt) {
725 			setprompt(2);
726 			needprompt = 0;
727 		}
>>> CID 1354293: Integer handling issues (NEGATIVE_RETURNS)
>>> Passing variable "pgetc()" to a parameter that cannot be negative.
728 		readtoken1(pgetc(), here->here->type == NHERE? SQSYNTAX : DQSYNTAX,
729 				here->eofmark, here->striptabs);
730 		n = (union node *)stalloc(sizeof (struct narg));
731 		n->narg.type = NARG;
732 		n->narg.next = NULL;
733 		n->narg.text = wordtext;
** CID 1354294: Memory - corruptions (OVERRUN)
/external/gpl3/gdb/dist/gdb/ada-lang.c: 8590 in to_fixed_array_type()
________________________________________________________________________________________________________
*** CID 1354294: Memory - corruptions (OVERRUN)
/external/gpl3/gdb/dist/gdb/ada-lang.c: 8590 in to_fixed_array_type()
8584 {
8585 const char *type_name = ada_type_name (type0);
8586 
8587 if (type_name != NULL)
8588 	{
8589 	 const int len = strlen (type_name);
>>> CID 1354294: Memory - corruptions (OVERRUN)
>>> Allocating insufficient memory for the terminating null of the string.
8590 	 char *name = (char *) alloca (len + strlen (xa_suffix));
8591 
8592 	 if (type_name[len - 1] == 'P')
8593 	 {
8594 	 strcpy (name, type_name);
8595 	 strcpy (name + len - 1, xa_suffix);
** CID 1354295: Memory - illegal accesses (OVERRUN)
/usr.bin/ftp/cmds.c: 1974 in dotrans()
________________________________________________________________________________________________________
*** CID 1354295: Memory - illegal accesses (OVERRUN)
/usr.bin/ftp/cmds.c: 1974 in dotrans()
1968 	size_t i, ostop;
1969 
1970 	for (ostop = 0; ntout[ostop] && ostop < sizeof(ntout); ostop++)
1971 		continue;
1972 	for (cp1 = src; *cp1; cp1++) {
1973 		int found = 0;
>>> CID 1354295: Memory - illegal accesses (OVERRUN)
>>> Overrunning array "ntin" of 17 bytes at byte offset 17 using index "i" (which evaluates to 17).
1974 		for (i = 0; ntin[i] && i < sizeof(ntin); i++) {
1975 			if (*cp1 == ntin[i]) {
1976 				found++;
1977 				if (i < ostop) {
1978 					*cp2++ = ntout[i];
1979 					if (cp2 - dst >= (ptrdiff_t)(dlen - 1))
** CID 1354296: Memory - illegal accesses (OVERRUN)
/usr.bin/ftp/cmds.c: 1970 in dotrans()
________________________________________________________________________________________________________
*** CID 1354296: Memory - illegal accesses (OVERRUN)
/usr.bin/ftp/cmds.c: 1970 in dotrans()
1964 dotrans(char *dst, size_t dlen, const char *src)
1965 {
1966 	const char *cp1;
1967 	char *cp2 = dst;
1968 	size_t i, ostop;
1969 
>>> CID 1354296: Memory - illegal accesses (OVERRUN)
>>> Overrunning array "ntout" of 17 bytes at byte offset 17 using index "ostop" (which evaluates to 17).
1970 	for (ostop = 0; ntout[ostop] && ostop < sizeof(ntout); ostop++)
1971 		continue;
1972 	for (cp1 = src; *cp1; cp1++) {
1973 		int found = 0;
1974 		for (i = 0; ntin[i] && i < sizeof(ntin); i++) {
1975 			if (*cp1 == ntin[i]) {
** CID 1354297: (STRING_NULL)
/lib/libedit/read.c: 317 in read_char()
/lib/libedit/read.c: 317 in read_char()
________________________________________________________________________________________________________
*** CID 1354297: (STRING_NULL)
/lib/libedit/read.c: 317 in read_char()
311 	char cbuf[MB_LEN_MAX];
312 	size_t cbp = 0;
313 	int save_errno = errno;
314 
315 again:
316 	el->el_signal->sig_no = 0;
>>> CID 1354297: (STRING_NULL)
>>> Function "read" does not terminate string "cbuf[cbp]". [Note: The source code implementation of the function has been overridden by a builtin model.]
317 	while ((num_read = read(el->el_infd, cbuf + cbp, (size_t)1)) == -1) {
318 		int e = errno;
319 		switch (el->el_signal->sig_no) {
320 		case SIGCONT:
321 			FUN(el,set)(el, EL_REFRESH);
322 			/*FALLTHROUGH*/
/lib/libedit/read.c: 317 in read_char()
311 	char cbuf[MB_LEN_MAX];
312 	size_t cbp = 0;
313 	int save_errno = errno;
314 
315 again:
316 	el->el_signal->sig_no = 0;
>>> CID 1354297: (STRING_NULL)
>>> Function "read" does not terminate string "cbuf[cbp]". [Note: The source code implementation of the function has been overridden by a builtin model.]
317 	while ((num_read = read(el->el_infd, cbuf + cbp, (size_t)1)) == -1) {
318 		int e = errno;
319 		switch (el->el_signal->sig_no) {
320 		case SIGCONT:
321 			FUN(el,set)(el, EL_REFRESH);
322 			/*FALLTHROUGH*/
** CID 1354298: Insecure data handling (TAINTED_SCALAR)
/external/gpl3/gdb/dist/gdb/top.c: 1733 in init_history()
________________________________________________________________________________________________________
*** CID 1354298: Insecure data handling (TAINTED_SCALAR)
/external/gpl3/gdb/dist/gdb/top.c: 1733 in init_history()
1727 
1728 void
1729 init_history (void)
1730 {
1731 char *tmpenv;
1732 
>>> CID 1354298: Insecure data handling (TAINTED_SCALAR)
>>> Assigning: "tmpenv" = "getenv", which taints "tmpenv".
1733 tmpenv = getenv ("GDBHISTSIZE");
1734 if (tmpenv)
1735 {
1736 long var;
1737 int saved_errno;
1738 char *endptr;
** CID 1354299: Insecure data handling (TAINTED_SCALAR)
/external/gpl3/gdb/dist/gdb/inferior.c: 865 in add_inferior_command()
________________________________________________________________________________________________________
*** CID 1354299: Insecure data handling (TAINTED_SCALAR)
/external/gpl3/gdb/dist/gdb/inferior.c: 865 in add_inferior_command()
859 		}
860 	 else if (strcmp (*argv, "-exec") == 0)
861 		{
862 		 ++argv;
863 		 if (!*argv)
864 		 error (_("No argument to -exec"));
>>> CID 1354299: Insecure data handling (TAINTED_SCALAR)
>>> Assigning: "exec" = "tilde_expand", which taints "exec".
865 		 exec = tilde_expand (*argv);
866 		 make_cleanup (xfree, exec);
867 		}
868 	 }
869 	 else
870 	 error (_("Invalid argument"));
** CID 1354300: Insecure data handling (TAINTED_SCALAR)
________________________________________________________________________________________________________
*** CID 1354300: Insecure data handling (TAINTED_SCALAR)
/external/gpl3/gdb/dist/gdb/exec.c: 173 in exec_file_locate_attach()
167 	 (If that fails, we'll just fall back on the original
168 	 filename. Not much more we can do...) */
169 if (!source_full_path_of (exec_file, &full_exec_path))
170 	full_exec_path = xstrdup (exec_file);
171 }
172 
>>> CID 1354300: Insecure data handling (TAINTED_SCALAR)
>>> Passing tainted variable "full_exec_path" to a tainted sink.
173 exec_file_attach (full_exec_path, from_tty);
174 symbol_file_add_main (full_exec_path, from_tty);
175 }
176 
177 /* Set FILENAME as the new exec file.
178 
** CID 1354301: Uninitialized variables (UNINIT)
/usr.sbin/acpitools/acpidump/acpi.c: 1972 in acpi_print_rsdt()
________________________________________________________________________________________________________
*** CID 1354301: Uninitialized variables (UNINIT)
/usr.sbin/acpitools/acpidump/acpi.c: 1972 in acpi_print_rsdt()
1966 			addr = le32toh(rsdt->TableOffsetEntry[i]);
1967 			break;
1968 		case 8:
1969 			addr = le64toh(xsdt->TableOffsetEntry[i]);
1970 			break;
1971 		default:
>>> CID 1354301: Uninitialized variables (UNINIT)
>>> Using uninitialized value "addr".
1972 			assert((addr == 0));
1973 		}
1974 		printf("0x%08lx", addr);
1975 	}
1976 	printf(" }\n");
1977 	printf(END_COMMENT);
** CID 1354302: Uninitialized variables (UNINIT)
/usr.sbin/acpitools/acpidump/acpi.c: 2238 in acpi_handle_rsdt()
________________________________________________________________________________________________________
*** CID 1354302: Uninitialized variables (UNINIT)
/usr.sbin/acpitools/acpidump/acpi.c: 2238 in acpi_handle_rsdt()
2232 			addr = le32toh(rsdt->TableOffsetEntry[i]);
2233 			break;
2234 		case 8:
2235 			addr = le64toh(xsdt->TableOffsetEntry[i]);
2236 			break;
2237 		default:
>>> CID 1354302: Uninitialized variables (UNINIT)
>>> Using uninitialized value "addr".
2238 			assert((addr == 0));
2239 		}
2240 
2241 		sdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(addr);
2242 		if (acpi_checksum(sdp, sdp->Length)) {
2243 			warnx("RSDT entry %d (sig %.4s) is corrupt", i,
** CID 1354303: Uninitialized variables (UNINIT)
/usr.sbin/acpitools/acpidump/acpi.c: 2474 in sdt_from_rsdt()
________________________________________________________________________________________________________
*** CID 1354303: Uninitialized variables (UNINIT)
/usr.sbin/acpitools/acpidump/acpi.c: 2474 in sdt_from_rsdt()
2468 			addr = le32toh(rsdt->TableOffsetEntry[i]);
2469 			break;
2470 		case 8:
2471 			addr = le64toh(xsdt->TableOffsetEntry[i]);
2472 			break;
2473 		default:
>>> CID 1354303: Uninitialized variables (UNINIT)
>>> Using uninitialized value "addr".
2474 			assert((addr == 0));
2475 		}
2476 		sdt = (ACPI_TABLE_HEADER *)acpi_map_sdt(addr);
2477 		if (last != NULL) {
2478 			if (sdt == last)
2479 				last = NULL;
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://scan.coverity.com/projects/netbsd-amd64-user?tab=overview
To manage Coverity Scan email notifications for "coverity-updates%netbsd.org@localhost", click https://scan.coverity.com/subscriptions/edit?email=coverity-updates%40netbsd.org&token=487286ca1a9a4f4bd485d16f66b5e782


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /