Date: Tue, 5 Dec 2017 16:22:01 +0000 (UTC) From: Baptiste Daroussin <bapt@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r455589 - in head/ports-mgmt/pkg: . files Message-ID: <201712051622.vB5GM14g087733@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bapt Date: Tue Dec 5 16:22:01 2017 New Revision: 455589 URL: https://svnweb.freebsd.org/changeset/ports/455589 Log: Fix segfault in pkg version against the ports tree PR: 224023 Reported by: jrm, kib, Trond.Endrestol@ximalas.info Tested by: jrm (an early version of the patch) Added: head/ports-mgmt/pkg/files/patch-src_version.c (contents, props changed) Modified: head/ports-mgmt/pkg/Makefile Modified: head/ports-mgmt/pkg/Makefile ============================================================================== --- head/ports-mgmt/pkg/Makefile Tue Dec 5 16:20:56 2017 (r455588) +++ head/ports-mgmt/pkg/Makefile Tue Dec 5 16:22:01 2017 (r455589) @@ -2,6 +2,7 @@ PORTNAME= pkg DISTVERSION= 1.10.3 +PORTREVISION= 1 _PKG_VERSION= ${DISTVERSION} CATEGORIES= ports-mgmt MASTER_SITES= \ Added: head/ports-mgmt/pkg/files/patch-src_version.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ports-mgmt/pkg/files/patch-src_version.c Tue Dec 5 16:22:01 2017 (r455589) @@ -0,0 +1,28 @@ +diff --git src/version.c src/version.c +index d265776b..92c18060 100644 +--- src/version.c ++++ src/version.c +@@ -601,6 +601,8 @@ exec_buf(UT_string *res, char **argv) { + if (errno != EINTR) + return (-1); + } ++ if (WEXITSTATUS(pstat) != 0) ++ return (-1); + + return (utstring_len(res)); + } +@@ -716,11 +718,13 @@ port_version(UT_string *cmd, const char *portsdir, const char *origin, + argv[3] = "flavors-package-names"; + argv[4] = NULL; + +- if (exec_buf(cmd, argv) != 0) { ++ if (exec_buf(cmd, argv) > 0) { + output = utstring_body(cmd); + while ((walk = strsep(&output, "\n")) != NULL) { + name = walk; + walk = strrchr(walk, '-'); ++ if (walk == NULL) ++ continue; + walk[0] = '\0'; + walk++; + if (strcmp(name, pkgname) == 0) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201712051622.vB5GM14g087733>