pkgsrc-Bugs archive

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

pkg/55865: pkg_add segfaults



>Number:         55865
>Category:       pkg
>Synopsis:       pkg_add segfaults
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Dec 12 08:50:01 +0000 2020
>Originator:     Michael van Elst
>Release:        NetBSD 9.99.76
>Organization:
	
>Environment:
	
	
System: NetBSD tazz 9.99.76 NetBSD 9.99.76 (GENERIC) #4: Sun Dec 6 14:41:55 UTC 2020 mlelstv@slowpoke:/scratch2/obj.amd64/scratch/netbsd-current/src/sys/arch/amd64/compile/GENERIC amd64
Architecture: x86_64
Machine: amd64
>Description:
Installing a package with a dependency that doesn't exist in the repository causes a segfault.

The check_dependencies() function includes:

	best_installed = find_best_matching_installed_pkg(p->name, 0);

	for (i = 0; i < pkg->dep_length; ++i) {
		if (strcmp(best_installed, pkg->dependencies[i]) == 0)
		break;
	}
	...
	pkg->dependencies[pkg->dep_length++] = best_installed;


where best_installed can be NULL and so can pkg->dependencies[i] later.

The previous handling of NULL results was dropped in the last change
to perform.c.

>How-To-Repeat:
pkg_add ./rsync-3.2.3.tgz
pkg_add: Warning: package `rsync-3.2.3' was built for a platform:
pkg_add: NetBSD/x86_64 9.0 (pkg) vs. NetBSD/x86_64 9.99.76 (this host)
pkg_add: no pkg found for 'bash-[0-9]*', sorry.
pkg_add: Can't install dependency bash-[0-9]*
Segmentation fault (core dumped)
>Fix:
	

>Unformatted:
 	
 	


Home | Main Index | Thread Index | Old Index