pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/pkgtools/pkg_install/files pkg_install: Update to 2018...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/6b78ac35307b
branches:  trunk
changeset: 378920:6b78ac35307b
user:      jperkin <jperkin%pkgsrc.org@localhost>
date:      Tue Apr 17 12:52:35 2018 +0000

description:
pkg_install: Update to 20180417.

Fix an issue in pkg_create where we may have been using corrupted owner and
group information.  Noticed on macOS where libarchive would complain about
the owner entry being too long.  Reviewed by joerg.

Also includes some manual page improvements committed recently.

diffstat:

 pkgtools/pkg_install/files/create/util.c |  15 ++++++++-------
 pkgtools/pkg_install/files/lib/version.h |   4 ++--
 2 files changed, 10 insertions(+), 9 deletions(-)

diffs (72 lines):

diff -r 05d8d846ff34 -r 6b78ac35307b pkgtools/pkg_install/files/create/util.c
--- a/pkgtools/pkg_install/files/create/util.c  Tue Apr 17 12:28:52 2018 +0000
+++ b/pkgtools/pkg_install/files/create/util.c  Tue Apr 17 12:52:35 2018 +0000
@@ -65,7 +65,7 @@
                        errx(2, "user %s unknown", file->owner);
                file->st.st_uid = uid;
        } else {
-               file->owner = user_from_uid(file->st.st_uid, 1);
+               file->owner = xstrdup(user_from_uid(file->st.st_uid, 1));
        }
 
        if (file->group != NULL) {
@@ -73,10 +73,9 @@
 
                if (gid_from_group(file->group, &gid) == -1)
                        errx(2, "group %s unknown", file->group);
-               file->group = file->group;
                file->st.st_gid = gid;
        } else {
-               file->group = group_from_gid(file->st.st_gid, 1);
+               file->group = xstrdup(group_from_gid(file->st.st_gid, 1));
        }
 }
 
@@ -88,8 +87,8 @@
 
        file = xmalloc(sizeof(*file));
        file->name = archive_name;
-       file->owner = owner;
-       file->group = group;
+       file->owner = (owner != NULL) ? xstrdup(owner) : NULL;
+       file->group = (group != NULL) ? xstrdup(group) : NULL;
        file->data = data;
        file->len = len;
 
@@ -116,8 +115,8 @@
 
        file = xmalloc(sizeof(*file));
        file->name = archive_name;
-       file->owner = owner;
-       file->group = group;
+       file->owner = (owner != NULL) ? xstrdup(owner) : NULL;
+       file->group = (group != NULL) ? xstrdup(group) : NULL;
        file->mode = mode;
 
        fd = open(disk_name, O_RDONLY);
@@ -148,6 +147,8 @@
 free_memory_file(struct memory_file *file)
 {
        if (file != NULL) {
+               free((char *)file->owner);
+               free((char *)file->group);
                free(file->data);
                free(file);
        }
diff -r 05d8d846ff34 -r 6b78ac35307b pkgtools/pkg_install/files/lib/version.h
--- a/pkgtools/pkg_install/files/lib/version.h  Tue Apr 17 12:28:52 2018 +0000
+++ b/pkgtools/pkg_install/files/lib/version.h  Tue Apr 17 12:52:35 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: version.h,v 1.174 2018/03/25 03:56:28 sevan Exp $      */
+/*     $NetBSD: version.h,v 1.175 2018/04/17 12:52:35 jperkin Exp $    */
 
 /*
  * Copyright (c) 2001 Thomas Klausner.  All rights reserved.
@@ -27,6 +27,6 @@
 #ifndef _INST_LIB_VERSION_H_
 #define _INST_LIB_VERSION_H_
 
-#define PKGTOOLS_VERSION 20180325
+#define PKGTOOLS_VERSION 20180417
 
 #endif /* _INST_LIB_VERSION_H_ */



Home | Main Index | Thread Index | Old Index