Date: Thu, 4 May 2017 21:30:27 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r317808 - in projects/clang500-import: . bin/sh bin/sh/tests/expansion contrib/blacklist contrib/blacklist/bin contrib/blacklist/etc/rc.d contrib/blacklist/lib contrib/blacklist/libexec... Message-ID: <201705042130.v44LUR0j072942@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Thu May 4 21:30:26 2017 New Revision: 317808 URL: https://svnweb.freebsd.org/changeset/base/317808 Log: Merge ^/head r317503 through r317807. Added: projects/clang500-import/bin/sh/tests/expansion/cmdsubst25.0 - copied unchanged from r317807, head/bin/sh/tests/expansion/cmdsubst25.0 projects/clang500-import/bin/sh/tests/expansion/cmdsubst26.0 - copied unchanged from r317807, head/bin/sh/tests/expansion/cmdsubst26.0 projects/clang500-import/contrib/libarchive/libarchive/test/test_read_format_zip_with_invalid_traditional_eocd.c - copied unchanged from r317807, head/contrib/libarchive/libarchive/test/test_read_format_zip_with_invalid_traditional_eocd.c projects/clang500-import/contrib/libarchive/libarchive/test/test_read_format_zip_with_invalid_traditional_eocd.zip.uu - copied unchanged from r317807, head/contrib/libarchive/libarchive/test/test_read_format_zip_with_invalid_traditional_eocd.zip.uu projects/clang500-import/contrib/netbsd-tests/usr.bin/grep/d_context_e.in - copied unchanged from r317807, head/contrib/netbsd-tests/usr.bin/grep/d_context_e.in projects/clang500-import/contrib/netbsd-tests/usr.bin/grep/d_context_e.out - copied unchanged from r317807, head/contrib/netbsd-tests/usr.bin/grep/d_context_e.out projects/clang500-import/contrib/netbsd-tests/usr.bin/grep/d_context_f.out - copied unchanged from r317807, head/contrib/netbsd-tests/usr.bin/grep/d_context_f.out projects/clang500-import/contrib/netbsd-tests/usr.bin/grep/d_context_g.out - copied unchanged from r317807, head/contrib/netbsd-tests/usr.bin/grep/d_context_g.out projects/clang500-import/lib/libc/tests/gen/glob2_test.c - copied unchanged from r317807, head/lib/libc/tests/gen/glob2_test.c projects/clang500-import/share/man/man4/cy.4 - copied unchanged from r317807, head/share/man/man4/cy.4 projects/clang500-import/sys/amd64/vmm/amd/amdvi_hw.c - copied unchanged from r317807, head/sys/amd64/vmm/amd/amdvi_hw.c projects/clang500-import/sys/amd64/vmm/amd/amdvi_priv.h - copied unchanged from r317807, head/sys/amd64/vmm/amd/amdvi_priv.h projects/clang500-import/sys/amd64/vmm/amd/ivrs_drv.c - copied unchanged from r317807, head/sys/amd64/vmm/amd/ivrs_drv.c projects/clang500-import/sys/compat/linuxkpi/common/include/asm/smp.h - copied unchanged from r317807, head/sys/compat/linuxkpi/common/include/asm/smp.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/smp.h - copied unchanged from r317807, head/sys/compat/linuxkpi/common/include/linux/smp.h projects/clang500-import/sys/contrib/ena-com/ - copied from r317807, head/sys/contrib/ena-com/ projects/clang500-import/sys/dev/cxgbe/t4_sched.c - copied unchanged from r317807, head/sys/dev/cxgbe/t4_sched.c projects/clang500-import/sys/dev/cy/ - copied from r317807, head/sys/dev/cy/ projects/clang500-import/sys/libkern/arm64/ - copied from r317807, head/sys/libkern/arm64/ projects/clang500-import/tests/sys/geom/class/mirror/8_test.sh - copied unchanged from r317807, head/tests/sys/geom/class/mirror/8_test.sh projects/clang500-import/tests/sys/geom/class/mirror/9_test.sh - copied unchanged from r317807, head/tests/sys/geom/class/mirror/9_test.sh Replaced: projects/clang500-import/contrib/blacklist/port/config.h - copied unchanged from r317807, head/contrib/blacklist/port/config.h Deleted: projects/clang500-import/share/man/man9/utopia.9 Modified: projects/clang500-import/ObsoleteFiles.inc projects/clang500-import/bin/sh/expand.c projects/clang500-import/bin/sh/tests/expansion/Makefile projects/clang500-import/contrib/blacklist/README projects/clang500-import/contrib/blacklist/bin/blacklistctl.8 projects/clang500-import/contrib/blacklist/bin/blacklistctl.c projects/clang500-import/contrib/blacklist/bin/blacklistd.c projects/clang500-import/contrib/blacklist/bin/blacklistd.conf.5 projects/clang500-import/contrib/blacklist/etc/rc.d/blacklistd projects/clang500-import/contrib/blacklist/lib/bl.c projects/clang500-import/contrib/blacklist/lib/libblacklist.3 projects/clang500-import/contrib/blacklist/libexec/blacklistd-helper projects/clang500-import/contrib/blacklist/port/Makefile.am projects/clang500-import/contrib/blacklist/port/sockaddr_snprintf.c projects/clang500-import/contrib/elftoolchain/cxxfilt/cxxfilt.c projects/clang500-import/contrib/hyperv/tools/hv_kvp_daemon.c projects/clang500-import/contrib/libarchive/cpio/cpio.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_Z_upper.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_a.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_b64encode.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_grzip.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_lrzip.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_lz4.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_lzma.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_lzop.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_uuencode.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_xz.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_y.c projects/clang500-import/contrib/libarchive/cpio/test/test_option_z.c projects/clang500-import/contrib/libarchive/libarchive/archive_entry_sparse.c projects/clang500-import/contrib/libarchive/libarchive/archive_getdate.c projects/clang500-import/contrib/libarchive/libarchive/archive_openssl_hmac_private.h projects/clang500-import/contrib/libarchive/libarchive/archive_read.c projects/clang500-import/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_format_cab.c projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_format_cpio.c projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_format_iso9660.c projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_format_mtree.c projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_format_rar.c projects/clang500-import/contrib/libarchive/libarchive/archive_string.c projects/clang500-import/contrib/libarchive/libarchive/archive_write_set_format_pax.c projects/clang500-import/contrib/libarchive/libarchive/libarchive_changes.3 projects/clang500-import/contrib/libarchive/libarchive/test/test_read_format_mtree.c projects/clang500-import/contrib/libarchive/libarchive/test/test_write_format_pax.c projects/clang500-import/contrib/libarchive/libarchive/test/test_write_format_zip_compression_store.c projects/clang500-import/contrib/libarchive/libarchive/test/test_write_format_zip_large.c projects/clang500-import/contrib/libarchive/libarchive/xxhash.c projects/clang500-import/contrib/libarchive/test_utils/test_main.c projects/clang500-import/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c projects/clang500-import/contrib/netbsd-tests/usr.bin/grep/t_grep.sh projects/clang500-import/etc/autofs/special_media projects/clang500-import/etc/rc.d/ipfw projects/clang500-import/etc/rc.d/routing projects/clang500-import/include/stdio.h projects/clang500-import/lib/libarchive/tests/Makefile projects/clang500-import/lib/libbluetooth/bluetooth.h projects/clang500-import/lib/libc/gen/glob.c projects/clang500-import/lib/libc/gen/sem_new.c projects/clang500-import/lib/libc/regex/regcomp.c projects/clang500-import/lib/libc/riscv/SYS.h projects/clang500-import/lib/libc/riscv/sys/vfork.S projects/clang500-import/lib/libc/rpc/svc.c projects/clang500-import/lib/libc/sys/cpuset.2 projects/clang500-import/lib/libc/tests/gen/Makefile projects/clang500-import/lib/libedit/editline.3 projects/clang500-import/lib/libsysdecode/flags.c projects/clang500-import/lib/libsysdecode/mktables projects/clang500-import/libexec/getty/gettytab.5 projects/clang500-import/release/doc/en_US.ISO8859-1/hardware/article.xml projects/clang500-import/rescue/rescue/Makefile projects/clang500-import/sbin/camcontrol/camcontrol.8 projects/clang500-import/sbin/camcontrol/camcontrol.c projects/clang500-import/sbin/camcontrol/fwdownload.c projects/clang500-import/sbin/camcontrol/timestamp.c projects/clang500-import/sbin/geom/class/part/geom_part.c projects/clang500-import/sbin/ifconfig/af_inet6.c projects/clang500-import/sbin/ifconfig/af_nd6.c projects/clang500-import/sbin/ifconfig/ifclone.c projects/clang500-import/sbin/ifconfig/ifconfig.8 projects/clang500-import/sbin/ifconfig/ifconfig.c projects/clang500-import/sbin/ifconfig/iflagg.c projects/clang500-import/sbin/ifconfig/ifmedia.c projects/clang500-import/sbin/ifconfig/ifpfsync.c projects/clang500-import/sbin/ipfw/dummynet.c projects/clang500-import/sbin/ipfw/ipfw.8 projects/clang500-import/sbin/ipfw/ipfw2.c projects/clang500-import/sbin/ipfw/tables.c projects/clang500-import/sbin/kldconfig/kldconfig.8 projects/clang500-import/sbin/kldload/kldload.8 projects/clang500-import/share/man/man4/Makefile projects/clang500-import/share/man/man4/pass.4 projects/clang500-import/share/man/man4/usb.4 projects/clang500-import/share/man/man7/arch.7 projects/clang500-import/share/man/man7/hier.7 projects/clang500-import/share/man/man8/Makefile projects/clang500-import/share/man/man8/rc.8 projects/clang500-import/share/man/man9/Makefile projects/clang500-import/share/man/man9/netisr.9 projects/clang500-import/share/misc/committers-src.dot projects/clang500-import/share/mk/src.opts.mk projects/clang500-import/sys/Makefile projects/clang500-import/sys/amd64/pci/pci_cfgreg.c projects/clang500-import/sys/arm64/arm64/machdep.c projects/clang500-import/sys/boot/efi/loader/main.c projects/clang500-import/sys/boot/i386/zfsboot/zfsboot.c projects/clang500-import/sys/cam/cam_periph.c projects/clang500-import/sys/cam/scsi/scsi_all.c projects/clang500-import/sys/cam/scsi/scsi_all.h projects/clang500-import/sys/cam/scsi/scsi_pass.c projects/clang500-import/sys/cam/scsi/scsi_sa.h projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/clang500-import/sys/cddl/dev/dtrace/dtrace_load.c projects/clang500-import/sys/compat/linux/linux_file.c projects/clang500-import/sys/compat/linux/linux_futex.c projects/clang500-import/sys/compat/linuxkpi/common/src/linux_compat.c projects/clang500-import/sys/compat/linuxkpi/common/src/linux_page.c projects/clang500-import/sys/conf/files projects/clang500-import/sys/conf/files.arm64 projects/clang500-import/sys/dev/acpica/acpi_pcib_acpi.c projects/clang500-import/sys/dev/acpica/acpivar.h projects/clang500-import/sys/dev/bnxt/bnxt.h projects/clang500-import/sys/dev/bnxt/if_bnxt.c projects/clang500-import/sys/dev/cxgbe/adapter.h projects/clang500-import/sys/dev/cxgbe/common/common.h projects/clang500-import/sys/dev/cxgbe/common/t4_hw.c projects/clang500-import/sys/dev/cxgbe/t4_main.c projects/clang500-import/sys/dev/cxgbe/t4_sge.c projects/clang500-import/sys/dev/cxgbe/t4_vf.c projects/clang500-import/sys/dev/drm2/radeon/radeon_drv.c projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000sw.c projects/clang500-import/sys/dev/fdt/fdt_common.c projects/clang500-import/sys/dev/isp/isp.c projects/clang500-import/sys/dev/isp/isp_freebsd.c projects/clang500-import/sys/dev/isp/ispmbox.h projects/clang500-import/sys/dev/isp/ispvar.h projects/clang500-import/sys/dev/mlx4/mlx4_en/en.h projects/clang500-import/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c projects/clang500-import/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/clang500-import/sys/dev/nand/nandsim.c projects/clang500-import/sys/dev/pci/pci_pci.c projects/clang500-import/sys/dev/pci/pcib_private.h projects/clang500-import/sys/dev/sdhci/sdhci_fdt.c projects/clang500-import/sys/dev/sound/pcm/feeder_matrix.c projects/clang500-import/sys/dev/uart/uart_dev_lpc.c projects/clang500-import/sys/dev/uart/uart_dev_ns8250.c projects/clang500-import/sys/dev/vt/vt_core.c projects/clang500-import/sys/fs/ext2fs/ext2_alloc.c projects/clang500-import/sys/fs/ext2fs/ext2_extattr.c projects/clang500-import/sys/fs/ext2fs/ext2_extattr.h projects/clang500-import/sys/fs/ext2fs/ext2_extern.h projects/clang500-import/sys/fs/ext2fs/ext2_inode.c projects/clang500-import/sys/fs/ext2fs/ext2_inode_cnv.c projects/clang500-import/sys/fs/ext2fs/ext2_vnops.c projects/clang500-import/sys/fs/nfsclient/nfs_clrpcops.c projects/clang500-import/sys/geom/mirror/g_mirror.c projects/clang500-import/sys/kern/kern_cpuset.c projects/clang500-import/sys/kern/kern_intr.c projects/clang500-import/sys/kern/kern_thread.c projects/clang500-import/sys/kern/subr_gtaskqueue.c projects/clang500-import/sys/kern/vfs_cache.c projects/clang500-import/sys/libkern/crc32.c projects/clang500-import/sys/mips/conf/CARAMBOLA2 projects/clang500-import/sys/mips/conf/std.AR933X projects/clang500-import/sys/mips/conf/std.AR934X projects/clang500-import/sys/modules/cxgbe/if_cxgbe/Makefile projects/clang500-import/sys/modules/vmm/Makefile projects/clang500-import/sys/net/if_bridge.c projects/clang500-import/sys/net/if_lagg.c projects/clang500-import/sys/net/if_lagg.h projects/clang500-import/sys/net/if_vlan.c projects/clang500-import/sys/netgraph/bluetooth/hci/ng_hci_evnt.c projects/clang500-import/sys/netgraph/bluetooth/hci/ng_hci_main.c projects/clang500-import/sys/netgraph/bluetooth/hci/ng_hci_var.h projects/clang500-import/sys/netgraph/bluetooth/include/ng_bluetooth.h projects/clang500-import/sys/netgraph/bluetooth/include/ng_btsocket.h projects/clang500-import/sys/netgraph/bluetooth/include/ng_hci.h projects/clang500-import/sys/netinet/sctp_output.c projects/clang500-import/sys/netinet/sctp_pcb.c projects/clang500-import/sys/netinet/sctp_timer.c projects/clang500-import/sys/netinet/sctp_usrreq.c projects/clang500-import/sys/netinet/sctputil.c projects/clang500-import/sys/netinet/sctputil.h projects/clang500-import/sys/netpfil/pf/pf_ioctl.c projects/clang500-import/sys/sparc64/pci/psycho.c projects/clang500-import/sys/sys/cpuset.h projects/clang500-import/sys/sys/interrupt.h projects/clang500-import/sys/sys/libkern.h projects/clang500-import/sys/vm/vm_meter.c projects/clang500-import/sys/x86/x86/mca.c projects/clang500-import/tests/sys/geom/class/mirror/Makefile projects/clang500-import/tests/sys/kern/Makefile projects/clang500-import/tests/sys/kern/libkern_crc32.c projects/clang500-import/tests/sys/kern/unix_seqpacket_test.c projects/clang500-import/tools/tools/net80211/scripts/setup.wdsmain projects/clang500-import/usr.bin/Makefile projects/clang500-import/usr.bin/csplit/csplit.c projects/clang500-import/usr.bin/grep/Makefile projects/clang500-import/usr.bin/grep/grep.c projects/clang500-import/usr.bin/grep/grep.h projects/clang500-import/usr.bin/grep/nls/C.msg projects/clang500-import/usr.bin/grep/nls/es_ES.ISO8859-1.msg projects/clang500-import/usr.bin/grep/nls/gl_ES.ISO8859-1.msg projects/clang500-import/usr.bin/grep/nls/hu_HU.ISO8859-2.msg projects/clang500-import/usr.bin/grep/nls/ja_JP.SJIS.msg projects/clang500-import/usr.bin/grep/nls/ja_JP.UTF-8.msg projects/clang500-import/usr.bin/grep/nls/ja_JP.eucJP.msg projects/clang500-import/usr.bin/grep/nls/pt_BR.ISO8859-1.msg projects/clang500-import/usr.bin/grep/nls/ru_RU.KOI8-R.msg projects/clang500-import/usr.bin/grep/nls/uk_UA.UTF-8.msg projects/clang500-import/usr.bin/grep/nls/zh_CN.UTF-8.msg projects/clang500-import/usr.bin/grep/queue.c projects/clang500-import/usr.bin/grep/regex/tre-fastmatch.c projects/clang500-import/usr.bin/grep/tests/Makefile projects/clang500-import/usr.bin/grep/util.c projects/clang500-import/usr.bin/printf/printf.c projects/clang500-import/usr.bin/proccontrol/Makefile projects/clang500-import/usr.bin/truss/syscall.h projects/clang500-import/usr.bin/truss/syscalls.c projects/clang500-import/usr.bin/unexpand/unexpand.c projects/clang500-import/usr.sbin/bhyve/bhyve.8 projects/clang500-import/usr.sbin/bhyve/pci_fbuf.c (contents, props changed) projects/clang500-import/usr.sbin/bhyve/pci_xhci.c (contents, props changed) projects/clang500-import/usr.sbin/bhyve/rfb.c (contents, props changed) projects/clang500-import/usr.sbin/bluetooth/hccontrol/node.c projects/clang500-import/usr.sbin/bsdconfig/share/device.subr projects/clang500-import/usr.sbin/bsdinstall/partedit/gpart_ops.c projects/clang500-import/usr.sbin/fdread/fdread.c projects/clang500-import/usr.sbin/makefs/cd9660.c projects/clang500-import/usr.sbin/makefs/ffs.c projects/clang500-import/usr.sbin/makefs/ffs/buf.c projects/clang500-import/usr.sbin/makefs/ffs/buf.h projects/clang500-import/usr.sbin/makefs/ffs/mkfs.c projects/clang500-import/usr.sbin/makefs/makefs.c projects/clang500-import/usr.sbin/mixer/mixer.c projects/clang500-import/usr.sbin/pkg/pkg.c projects/clang500-import/usr.sbin/tcpdrop/tcpdrop.c Directory Properties: projects/clang500-import/ (props changed) projects/clang500-import/contrib/blacklist/ (props changed) projects/clang500-import/contrib/elftoolchain/ (props changed) projects/clang500-import/contrib/libarchive/ (props changed) projects/clang500-import/contrib/netbsd-tests/ (props changed) projects/clang500-import/lib/libedit/ (props changed) projects/clang500-import/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/clang500-import/ObsoleteFiles.inc ============================================================================== --- projects/clang500-import/ObsoleteFiles.inc Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/ObsoleteFiles.inc Thu May 4 21:30:26 2017 (r317808) @@ -150,9 +150,7 @@ OLD_FILES+=usr/lib/clang/4.0.0/lib/freeb OLD_DIRS+=usr/lib/clang/4.0.0/lib/freebsd OLD_DIRS+=usr/lib/clang/4.0.0/lib OLD_DIRS+=usr/lib/clang/4.0.0 -# 20170426: Remove cy(4) -OLD_FILES+=usr/share/man/man4/cy.4.gz -# 20170425: NATM configuration support removed +# 20170427: NATM configuration support removed OLD_FILES+=etc/rc.d/atm1 OLD_FILES+=etc/rc.d/atm2 OLD_FILES+=etc/rc.d/atm3 @@ -190,6 +188,7 @@ OLD_FILES+=usr/share/man/man4/ng_atm.4.g OLD_FILES+=usr/share/man/man4/patm.4.gz OLD_FILES+=usr/share/man/man4/utopia.4.gz OLD_FILES+=usr/share/man/man8/atmconfig.8.gz +OLD_FILES+=usr/share/man/man9/utopia.9.gz OLD_FILES+=usr/share/snmp/defs/atm_freebsd.def OLD_FILES+=usr/share/snmp/defs/atm_tree.def OLD_FILES+=usr/share/snmp/mibs/BEGEMOT-ATM-FREEBSD-MIB.txt Modified: projects/clang500-import/bin/sh/expand.c ============================================================================== --- projects/clang500-import/bin/sh/expand.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/bin/sh/expand.c Thu May 4 21:30:26 2017 (r317808) @@ -462,6 +462,7 @@ expbackq(union node *cmd, int quoted, in int quotes = flag & (EXP_GLOB | EXP_CASE); size_t nnl; const char *ifs; + int startloc; INTOFF; p = grabstackstr(dest); @@ -469,6 +470,7 @@ expbackq(union node *cmd, int quoted, in ungrabstackstr(p, dest); p = in.buf; + startloc = dest - stackblock(); nnl = 0; if (!quoted && flag & EXP_SPLIT) ifs = ifsset() ? ifsval() : " \t\n"; @@ -490,31 +492,24 @@ expbackq(union node *cmd, int quoted, in lastc = *p++; if (lastc == '\0') continue; - if (lastc == '\n') { - nnl++; - } else { - if (nnl > 0) { - if (strchr(ifs, '\n') != NULL) { - NEXTWORD('\n', flag, dest, dst); - nnl = 0; - } else { - CHECKSTRSPACE(nnl + 2, dest); - while (nnl > 0) { - nnl--; - USTPUTC('\n', dest); - } - } - } - if (strchr(ifs, lastc) != NULL) + if (nnl > 0 && lastc != '\n') { + NEXTWORD('\n', flag, dest, dst); + nnl = 0; + } + if (strchr(ifs, lastc) != NULL) { + if (lastc == '\n') + nnl++; + else NEXTWORD(lastc, flag, dest, dst); - else { - CHECKSTRSPACE(2, dest); - if (quotes && syntax[(int)lastc] == CCTL) - USTPUTC(CTLESC, dest); - USTPUTC(lastc, dest); - } + } else { + CHECKSTRSPACE(2, dest); + if (quotes && syntax[(int)lastc] == CCTL) + USTPUTC(CTLESC, dest); + USTPUTC(lastc, dest); } } + while (dest > stackblock() + startloc && STTOPC(dest) == '\n') + STUNPUTC(dest); if (in.fd >= 0) close(in.fd); Modified: projects/clang500-import/bin/sh/tests/expansion/Makefile ============================================================================== --- projects/clang500-import/bin/sh/tests/expansion/Makefile Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/bin/sh/tests/expansion/Makefile Thu May 4 21:30:26 2017 (r317808) @@ -46,6 +46,8 @@ ${PACKAGE}FILES+= cmdsubst21.0 ${PACKAGE}FILES+= cmdsubst22.0 ${PACKAGE}FILES+= cmdsubst23.0 ${PACKAGE}FILES+= cmdsubst24.0 +${PACKAGE}FILES+= cmdsubst25.0 +${PACKAGE}FILES+= cmdsubst26.0 ${PACKAGE}FILES+= export1.0 ${PACKAGE}FILES+= export2.0 ${PACKAGE}FILES+= export3.0 Copied: projects/clang500-import/bin/sh/tests/expansion/cmdsubst25.0 (from r317807, head/bin/sh/tests/expansion/cmdsubst25.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/bin/sh/tests/expansion/cmdsubst25.0 Thu May 4 21:30:26 2017 (r317808, copy of r317807, head/bin/sh/tests/expansion/cmdsubst25.0) @@ -0,0 +1,7 @@ +# $FreeBSD$ + +IFS=' ' +set -- `printf '\n '` +IFS=: +[ "$*" = ' +' ] Copied: projects/clang500-import/bin/sh/tests/expansion/cmdsubst26.0 (from r317807, head/bin/sh/tests/expansion/cmdsubst26.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/bin/sh/tests/expansion/cmdsubst26.0 Thu May 4 21:30:26 2017 (r317808, copy of r317807, head/bin/sh/tests/expansion/cmdsubst26.0) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +nl=' +' +v=$nl`printf '\n'` +[ "$v" = "$nl" ] Modified: projects/clang500-import/contrib/blacklist/README ============================================================================== --- projects/clang500-import/contrib/blacklist/README Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/README Thu May 4 21:30:26 2017 (r317808) @@ -1,4 +1,4 @@ -# $NetBSD: README,v 1.7 2015/01/26 00:34:50 christos Exp $ +# $NetBSD: README,v 1.8 2017/04/13 17:59:34 christos Exp $ This package contains library that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and @@ -98,6 +98,16 @@ group "internal" on $int_if { ... } +You can use 'blacklistctl dump -a' to list all the current entries +in the database; the ones that have nfail <c>/<t> where <c>urrent +>= <t>otal, should have an id assosiated with them; this means that +there is a packet filter rule added for that entry. For npf, you +can examine the packet filter dynamic rule entries using 'npfctl +rule <rulename> list'. The number of current entries can exceed +the total. This happens because entering packet filter rules is +asynchronous; there could be other connection before the rule +becomes activated. + Enjoy, christos Modified: projects/clang500-import/contrib/blacklist/bin/blacklistctl.8 ============================================================================== --- projects/clang500-import/contrib/blacklist/bin/blacklistctl.8 Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/bin/blacklistctl.8 Thu May 4 21:30:26 2017 (r317808) @@ -1,4 +1,4 @@ -.\" $NetBSD: blacklistctl.8,v 1.7 2015/04/30 06:20:43 riz Exp $ +.\" $NetBSD: blacklistctl.8,v 1.9 2016/06/08 12:48:37 wiz Exp $ .\" .\" Copyright (c) 2015 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -77,7 +77,8 @@ it to make sure that there is only one r .Nm first appeared in .Nx 7 . -.Fx support for +.Fx +support for .Nm was implemented in .Fx 11 . Modified: projects/clang500-import/contrib/blacklist/bin/blacklistctl.c ============================================================================== --- projects/clang500-import/contrib/blacklist/bin/blacklistctl.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/bin/blacklistctl.c Thu May 4 21:30:26 2017 (r317808) @@ -1,4 +1,4 @@ -/* $NetBSD: blacklistctl.c,v 1.20 2016/04/04 15:52:56 christos Exp $ */ +/* $NetBSD: blacklistctl.c,v 1.21 2016/11/02 03:15:07 jnemeth Exp $ */ /*- * Copyright (c) 2015 The NetBSD Foundation, Inc. @@ -33,7 +33,7 @@ #endif #include <sys/cdefs.h> -__RCSID("$NetBSD: blacklistctl.c,v 1.20 2016/04/04 15:52:56 christos Exp $"); +__RCSID("$NetBSD: blacklistctl.c,v 1.21 2016/11/02 03:15:07 jnemeth Exp $"); #include <stdio.h> #include <time.h> Modified: projects/clang500-import/contrib/blacklist/bin/blacklistd.c ============================================================================== --- projects/clang500-import/contrib/blacklist/bin/blacklistd.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/bin/blacklistd.c Thu May 4 21:30:26 2017 (r317808) @@ -1,4 +1,4 @@ -/* $NetBSD: blacklistd.c,v 1.35 2016/09/26 19:43:43 christos Exp $ */ +/* $NetBSD: blacklistd.c,v 1.37 2017/02/18 00:26:16 christos Exp $ */ /*- * Copyright (c) 2015 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "config.h" #endif #include <sys/cdefs.h> -__RCSID("$NetBSD: blacklistd.c,v 1.35 2016/09/26 19:43:43 christos Exp $"); +__RCSID("$NetBSD: blacklistd.c,v 1.37 2017/02/18 00:26:16 christos Exp $"); #include <sys/types.h> #include <sys/socket.h> @@ -403,12 +403,14 @@ int main(int argc, char *argv[]) { int c, tout, flags, flush, restore, ret; - const char *spath, *blsock; + const char *spath, **blsock; + size_t nblsock, maxblsock; setprogname(argv[0]); spath = NULL; - blsock = _PATH_BLSOCK; + blsock = NULL; + maxblsock = nblsock = 0; flush = 0; restore = 0; tout = 0; @@ -440,7 +442,17 @@ main(int argc, char *argv[]) restore++; break; case 's': - blsock = optarg; + if (nblsock >= maxblsock) { + maxblsock += 10; + void *p = realloc(blsock, + sizeof(*blsock) * maxblsock); + if (p == NULL) + err(EXIT_FAILURE, + "Can't allocate memory for %zu sockets", + maxblsock); + blsock = p; + } + blsock[nblsock++] = optarg; break; case 't': tout = atoi(optarg) * 1000; @@ -487,9 +499,11 @@ main(int argc, char *argv[]) size_t nfd = 0; size_t maxfd = 0; - if (spath == NULL) - addfd(&pfd, &bl, &nfd, &maxfd, blsock); - else { + for (size_t i = 0; i < nblsock; i++) + addfd(&pfd, &bl, &nfd, &maxfd, blsock[i]); + free(blsock); + + if (spath) { FILE *fp = fopen(spath, "r"); char *line; if (fp == NULL) @@ -499,6 +513,8 @@ main(int argc, char *argv[]) addfd(&pfd, &bl, &nfd, &maxfd, line); fclose(fp); } + if (nfd == 0) + addfd(&pfd, &bl, &nfd, &maxfd, _PATH_BLSOCK); state = state_open(dbfile, flags, 0600); if (state == NULL) Modified: projects/clang500-import/contrib/blacklist/bin/blacklistd.conf.5 ============================================================================== --- projects/clang500-import/contrib/blacklist/bin/blacklistd.conf.5 Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/bin/blacklistd.conf.5 Thu May 4 21:30:26 2017 (r317808) @@ -1,4 +1,4 @@ -.\" $NetBSD: blacklistd.conf.5,v 1.3 2015/04/30 06:20:43 riz Exp $ +.\" $NetBSD: blacklistd.conf.5,v 1.5 2016/06/08 12:48:37 wiz Exp $ .\" .\" Copyright (c) 2015 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -218,7 +218,8 @@ bnx0:ssh * * * * 3 6h .Nm first appeared in .Nx 7 . -.Fx support for +.Fx +support for .Nm was implemented in .Fx 11 . Modified: projects/clang500-import/contrib/blacklist/etc/rc.d/blacklistd ============================================================================== --- projects/clang500-import/contrib/blacklist/etc/rc.d/blacklistd Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/etc/rc.d/blacklistd Thu May 4 21:30:26 2017 (r317808) @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: blacklistd,v 1.1 2015/01/22 17:49:41 christos Exp $ +# $NetBSD: blacklistd,v 1.2 2016/10/17 22:47:16 christos Exp $ # # PROVIDE: blacklistd @@ -18,7 +18,7 @@ start_precmd="${name}_precmd" extra_commands="reload" _sockfile="/var/run/${name}.sockets" -_sockname="blsock" +_sockname="blacklistd.sock" blacklistd_precmd() { Modified: projects/clang500-import/contrib/blacklist/lib/bl.c ============================================================================== --- projects/clang500-import/contrib/blacklist/lib/bl.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/lib/bl.c Thu May 4 21:30:26 2017 (r317808) @@ -1,4 +1,4 @@ -/* $NetBSD: bl.c,v 1.27 2015/12/30 16:42:48 christos Exp $ */ +/* $NetBSD: bl.c,v 1.28 2016/07/29 17:13:09 christos Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -33,7 +33,7 @@ #endif #include <sys/cdefs.h> -__RCSID("$NetBSD: bl.c,v 1.27 2015/12/30 16:42:48 christos Exp $"); +__RCSID("$NetBSD: bl.c,v 1.28 2016/07/29 17:13:09 christos Exp $"); #include <sys/param.h> #include <sys/types.h> Modified: projects/clang500-import/contrib/blacklist/lib/libblacklist.3 ============================================================================== --- projects/clang500-import/contrib/blacklist/lib/libblacklist.3 Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/lib/libblacklist.3 Thu May 4 21:30:26 2017 (r317808) @@ -1,4 +1,4 @@ -.\" $NetBSD: libblacklist.3,v 1.3 2015/01/25 23:09:28 wiz Exp $ +.\" $NetBSD: libblacklist.3,v 1.7 2017/02/04 23:33:56 wiz Exp $ .\" .\" Copyright (c) 2015 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -36,7 +36,7 @@ .Nm blacklist_r , .Nm blacklist , .Nm blacklist_sa -.Nm blacklist_sa_r , +.Nm blacklist_sa_r .Nd Blacklistd notification library .Sh LIBRARY .Lb libblacklist @@ -62,7 +62,7 @@ block or release port access to prevent .Pp The function .Fn blacklist_open -creates a the necessary state to communicate with +creates the necessary state to communicate with .Xr blacklistd 8 and returns a pointer to it, or .Dv NULL @@ -106,18 +106,25 @@ All functions log errors to .Xr syslogd 8 . .Sh RETURN VALUES The function -.Fn bl_open +.Fn blacklist_open returns a cookie on success and .Dv NULL -on failure setting errno to an appropriate value. -.Pp -The -.Fn bl_send -function returns +on failure setting +.Dv errno +to an appropriate value. +.Pp +The functions +.Fn blacklist , +.Fn blacklist_sa , +and +.Fn blacklist_sa_r +return .Dv 0 on success and -.Dv -1 -on failure setting errno to an appropriate value. +.Dv \-1 +on failure setting +.Dv errno +to an appropriate value. .Sh SEE ALSO .Xr blacklistd.conf 5 , .Xr blacklistd 8 Modified: projects/clang500-import/contrib/blacklist/libexec/blacklistd-helper ============================================================================== --- projects/clang500-import/contrib/blacklist/libexec/blacklistd-helper Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/libexec/blacklistd-helper Thu May 4 21:30:26 2017 (r317808) @@ -19,8 +19,8 @@ fi if [ -z "$pf" ]; then for f in npf pf ipf; do if [ -f "/etc/$f.conf" ]; then - pf="$f" - break + pf="$f" + break fi done fi Modified: projects/clang500-import/contrib/blacklist/port/Makefile.am ============================================================================== --- projects/clang500-import/contrib/blacklist/port/Makefile.am Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/port/Makefile.am Thu May 4 21:30:26 2017 (r317808) @@ -1,11 +1,11 @@ # ACLOCAL_AMFLAGS = -I m4 lib_LTLIBRARIES = libblacklist.la -include_HEADERS = blacklist.h +include_HEADERS = ../include/blacklist.h bin_PROGRAMS = blacklistd blacklistctl srvtest cltest -VPATH = ../bin:../lib:../test +VPATH = ../bin:../lib:../test:../include AM_CPPFLAGS = -I../include -DDOT="." AM_CFLAGS = @WARNINGS@ Copied: projects/clang500-import/contrib/blacklist/port/config.h (from r317807, head/contrib/blacklist/port/config.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/blacklist/port/config.h Thu May 4 21:30:26 2017 (r317808, copy of r317807, head/contrib/blacklist/port/config.h) @@ -0,0 +1,3 @@ +#if defined(__FreeBSD__) +#include "port.h" +#endif Modified: projects/clang500-import/contrib/blacklist/port/sockaddr_snprintf.c ============================================================================== --- projects/clang500-import/contrib/blacklist/port/sockaddr_snprintf.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/blacklist/port/sockaddr_snprintf.c Thu May 4 21:30:26 2017 (r317808) @@ -1,4 +1,4 @@ -/* $NetBSD: sockaddr_snprintf.c,v 1.10 2016/04/05 12:28:57 christos Exp $ */ +/* $NetBSD: sockaddr_snprintf.c,v 1.11 2016/06/01 22:57:51 christos Exp $ */ /*- * Copyright (c) 2004 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: sockaddr_snprintf.c,v 1.10 2016/04/05 12:28:57 christos Exp $"); +__RCSID("$NetBSD: sockaddr_snprintf.c,v 1.11 2016/06/01 22:57:51 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> @@ -219,7 +219,7 @@ sockaddr_snprintf(char * const sbuf, con case AF_LINK: sdl = ((const struct sockaddr_dl *)(const void *)sa); (void)strlcpy(addr = abuf, link_ntoa(sdl), sizeof(abuf)); - if ((w = strchr(addr, ':')) != 0) { + if ((w = strchr(addr, ':')) != NULL) { *w++ = '\0'; addr = w; } Modified: projects/clang500-import/contrib/elftoolchain/cxxfilt/cxxfilt.c ============================================================================== --- projects/clang500-import/contrib/elftoolchain/cxxfilt/cxxfilt.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/elftoolchain/cxxfilt/cxxfilt.c Thu May 4 21:30:26 2017 (r317808) @@ -189,8 +189,6 @@ main(int argc, char **argv) if (c == EOF) break; putchar(c); - if (c == '\n') - fflush(stdout); } else { if ((size_t) p >= sizeof(buf) - 1) warnx("buffer overflowed"); Modified: projects/clang500-import/contrib/hyperv/tools/hv_kvp_daemon.c ============================================================================== --- projects/clang500-import/contrib/hyperv/tools/hv_kvp_daemon.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/hyperv/tools/hv_kvp_daemon.c Thu May 4 21:30:26 2017 (r317808) @@ -61,6 +61,10 @@ typedef uint16_t __u16; typedef uint32_t __u32; typedef uint64_t __u64; +#define POOL_FILE_MODE (S_IRUSR | S_IWUSR) +#define POOL_DIR_MODE (POOL_FILE_MODE | S_IXUSR) +#define POOL_DIR "/var/db/hyperv/pool" + /* * ENUM Data */ @@ -285,11 +289,12 @@ kvp_file_init(void) int i; int alloc_unit = sizeof(struct kvp_record) * ENTRIES_PER_BLOCK; - if (mkdir("/var/db/hyperv/pool", S_IRUSR | S_IWUSR | S_IROTH) < 0 && + if (mkdir(POOL_DIR, POOL_DIR_MODE) < 0 && (errno != EEXIST && errno != EISDIR)) { KVP_LOG(LOG_ERR, " Failed to create /var/db/hyperv/pool\n"); exit(EXIT_FAILURE); } + chmod(POOL_DIR, POOL_DIR_MODE); /* fix old mistake */ for (i = 0; i < HV_KVP_POOL_COUNT; i++) { @@ -297,11 +302,12 @@ kvp_file_init(void) records_read = 0; num_blocks = 1; snprintf(fname, MAX_FILE_NAME, "/var/db/hyperv/pool/.kvp_pool_%d", i); - fd = open(fname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR | S_IROTH); + fd = open(fname, O_RDWR | O_CREAT, POOL_FILE_MODE); if (fd == -1) { return (1); } + fchmod(fd, POOL_FILE_MODE); /* fix old mistake */ filep = fopen(fname, "r"); Modified: projects/clang500-import/contrib/libarchive/cpio/cpio.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/cpio.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/cpio.c Thu May 4 21:30:26 2017 (r317808) @@ -628,6 +628,7 @@ mode_out(struct cpio *cpio) blocks == 1 ? "block" : "blocks"); } archive_write_free(cpio->archive); + archive_entry_linkresolver_free(cpio->linkresolver); } static const char * @@ -1194,12 +1195,15 @@ mode_pass(struct cpio *cpio, const char struct lafe_line_reader *lr; const char *p; int r; + size_t destdir_len; /* Ensure target dir has a trailing '/' to simplify path surgery. */ - cpio->destdir = malloc(strlen(destdir) + 8); - strcpy(cpio->destdir, destdir); - if (destdir[strlen(destdir) - 1] != '/') - strcat(cpio->destdir, "/"); + destdir_len = strlen(destdir); + cpio->destdir = malloc(destdir_len + 8); + memcpy(cpio->destdir, destdir, destdir_len); + if (destdir_len == 0 || destdir[destdir_len - 1] != '/') + cpio->destdir[destdir_len++] = '/'; + cpio->destdir[destdir_len++] = '\0'; cpio->archive = archive_write_disk_new(); if (cpio->archive == NULL) @@ -1240,6 +1244,7 @@ mode_pass(struct cpio *cpio, const char } archive_write_free(cpio->archive); + free(cpio->pass_destpath); } /* Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_Z_upper.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_Z_upper.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_Z_upper.c Thu May 4 21:30:26 2017 (r317808) @@ -43,17 +43,18 @@ DEFINE_TEST(test_option_Z_upper) if (strstr(p, "compression not available") != NULL) { skipping("This version of bsdcpio was compiled " "without compress support"); + free(p); return; } failure("-Z option is broken"); assertEqualInt(r, 0); - goto done; + free(p); + return; } free(p); /* Check that the archive file has a compress signature. */ p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "\x1f\x9d", 2); -done: free(p); } Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_a.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_a.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_a.c Thu May 4 21:30:26 2017 (r317808) @@ -96,7 +96,8 @@ DEFINE_TEST(test_option_a) test_create(); /* Sanity check; verify that atimes really do get modified. */ - assert((p = slurpfile(NULL, "f0")) != NULL); + p = slurpfile(NULL, "f0"); + assert(p != NULL); free(p); assertEqualInt(0, stat("f0", &st)); if (st.st_atime == files[0].atime_sec) { Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_b64encode.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_b64encode.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_b64encode.c Thu May 4 21:30:26 2017 (r317808) @@ -42,6 +42,7 @@ DEFINE_TEST(test_option_b64encode) p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "begin-base64 644", 16); + free(p); /* Archive it with uuencode only. */ assertEqualInt(0, @@ -51,4 +52,5 @@ DEFINE_TEST(test_option_b64encode) p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "begin-base64 644", 16); + free(p); } Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_grzip.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_grzip.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_grzip.c Thu May 4 21:30:26 2017 (r317808) @@ -44,9 +44,10 @@ DEFINE_TEST(test_option_grzip) systemf("echo f | %s -o --grzip >archive.out 2>archive.err", testprog)); p = slurpfile(&s, "archive.err"); - p[s] = '\0'; + free(p); /* Check that the archive file has an grzip signature. */ p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "GRZipII\x00\x02\x04:)", 12); + free(p); } Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_lrzip.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_lrzip.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_lrzip.c Thu May 4 21:30:26 2017 (r317808) @@ -44,9 +44,10 @@ DEFINE_TEST(test_option_lrzip) systemf("echo f | %s -o --lrzip >archive.out 2>archive.err", testprog)); p = slurpfile(&s, "archive.err"); - p[s] = '\0'; + free(p); /* Check that the archive file has an lzma signature. */ p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "LRZI\x00", 5); + free(p); } Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_lz4.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_lz4.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_lz4.c Thu May 4 21:30:26 2017 (r317808) @@ -43,6 +43,7 @@ DEFINE_TEST(test_option_lz4) if (strstr(p, "compression not available") != NULL) { skipping("This version of bsdcpio was compiled " "without lz4 support"); + free(p); return; } /* POSIX permits different handling of the spawnp @@ -52,6 +53,7 @@ DEFINE_TEST(test_option_lz4) if (strstr(p, "Can't launch") != NULL && !canLz4()) { skipping("This version of bsdcpio uses an external lz4 program " "but no such program is available on this system."); + free(p); return; } /* Some systems successfully spawn the new process, @@ -61,6 +63,7 @@ DEFINE_TEST(test_option_lz4) if (strstr(p, "Can't write") != NULL && !canLz4()) { skipping("This version of bsdcpio uses an external lz4 program " "but no such program is available on this system."); + free(p); return; } /* On some systems the error won't be detected until closing @@ -68,14 +71,18 @@ DEFINE_TEST(test_option_lz4) if (strstr(p, "Error closing") != NULL && !canLz4()) { skipping("This version of bsdcpio uses an external lz4 program " "but no such program is available on this system."); + free(p); return; } + free(p); failure("--lz4 option is broken: %s", p); assertEqualInt(r, 0); return; } + free(p); /* Check that the archive file has an lz4 signature. */ p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "\x04\x22\x4d\x18", 4); + free(p); } Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_lzma.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_lzma.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_lzma.c Thu May 4 21:30:26 2017 (r317808) @@ -43,14 +43,18 @@ DEFINE_TEST(test_option_lzma) if (strstr(p, "compression not available") != NULL) { skipping("This version of bsdcpio was compiled " "without lzma support"); + free(p); return; } failure("--lzma option is broken"); assertEqualInt(r, 0); + free(p); return; } + free(p); /* Check that the archive file has an lzma signature. */ p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "\x5d\00\00", 3); + free(p); } Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_lzop.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_lzop.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_lzop.c Thu May 4 21:30:26 2017 (r317808) @@ -39,7 +39,7 @@ DEFINE_TEST(test_option_lzop) r = systemf("echo f | %s -o --lzop >archive.out 2>archive.err", testprog); p = slurpfile(&s, "archive.err"); - p[s] = '\0'; + free(p); if (r != 0) { if (!canLzop()) { skipping("lzop is not supported on this platform"); @@ -53,4 +53,5 @@ DEFINE_TEST(test_option_lzop) p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "\x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a", 9); + free(p); } Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_uuencode.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_uuencode.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_uuencode.c Thu May 4 21:30:26 2017 (r317808) @@ -42,6 +42,7 @@ DEFINE_TEST(test_option_uuencode) p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "begin 644", 9); + free(p); /* Archive it with uuencode only. */ assertEqualInt(0, @@ -51,4 +52,5 @@ DEFINE_TEST(test_option_uuencode) p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "begin 644", 9); + free(p); } Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_xz.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_xz.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_xz.c Thu May 4 21:30:26 2017 (r317808) @@ -44,14 +44,18 @@ DEFINE_TEST(test_option_xz) if (strstr(p, "compression not available") != NULL) { skipping("This version of bsdcpio was compiled " "without xz support"); + free(p); return; } + free(p); failure("--xz option is broken"); assertEqualInt(r, 0); return; } + free(p); /* Check that the archive file has an xz signature. */ p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "\xFD\x37\x7A\x58\x5A\x00", 6); + free(p); } Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_y.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_y.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_y.c Thu May 4 21:30:26 2017 (r317808) @@ -38,7 +38,7 @@ DEFINE_TEST(test_option_y) r = systemf("echo f | %s -oy >archive.out 2>archive.err", testprog); p = slurpfile(&s, "archive.err"); - p[s] = '\0'; + free(p); if (r != 0) { if (!canBzip2()) { skipping("bzip2 is not supported on this platform"); @@ -46,14 +46,12 @@ DEFINE_TEST(test_option_y) } failure("-y option is broken"); assertEqualInt(r, 0); - goto done; + return; } assertTextFileContents("1 block\n", "archive.err"); /* Check that the archive file has a bzip2 signature. */ - free(p); p = slurpfile(&s, "archive.out"); assert(s > 2); assertEqualMem(p, "BZh9", 4); -done: free(p); } Modified: projects/clang500-import/contrib/libarchive/cpio/test/test_option_z.c ============================================================================== --- projects/clang500-import/contrib/libarchive/cpio/test/test_option_z.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/cpio/test/test_option_z.c Thu May 4 21:30:26 2017 (r317808) @@ -38,7 +38,7 @@ DEFINE_TEST(test_option_z) r = systemf("echo f | %s -oz >archive.out 2>archive.err", testprog); p = slurpfile(&s, "archive.err"); - p[s] = '\0'; + free(p); if (r != 0) { if (!canGzip()) { skipping("gzip is not supported on this platform"); @@ -52,4 +52,5 @@ DEFINE_TEST(test_option_z) p = slurpfile(&s, "archive.out"); assert(s > 4); assertEqualMem(p, "\x1f\x8b\x08\x00", 4); + free(p); } Modified: projects/clang500-import/contrib/libarchive/libarchive/archive_entry_sparse.c ============================================================================== --- projects/clang500-import/contrib/libarchive/libarchive/archive_entry_sparse.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/libarchive/archive_entry_sparse.c Thu May 4 21:30:26 2017 (r317808) @@ -51,7 +51,7 @@ archive_entry_sparse_clear(struct archiv void archive_entry_sparse_add_entry(struct archive_entry *entry, - int64_t offset, int64_t length) + la_int64_t offset, la_int64_t length) { struct ae_sparse *sp; @@ -135,7 +135,7 @@ archive_entry_sparse_reset(struct archiv int archive_entry_sparse_next(struct archive_entry * entry, - int64_t *offset, int64_t *length) + la_int64_t *offset, la_int64_t *length) { if (entry->sparse_p) { *offset = entry->sparse_p->offset; Modified: projects/clang500-import/contrib/libarchive/libarchive/archive_getdate.c ============================================================================== --- projects/clang500-import/contrib/libarchive/libarchive/archive_getdate.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/libarchive/archive_getdate.c Thu May 4 21:30:26 2017 (r317808) @@ -691,7 +691,7 @@ Convert(time_t Month, time_t Day, time_t time_t Hours, time_t Minutes, time_t Seconds, time_t Timezone, enum DSTMODE DSTmode) { - int DaysInMonth[12] = { + signed char DaysInMonth[12] = { 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; time_t Julian; Modified: projects/clang500-import/contrib/libarchive/libarchive/archive_openssl_hmac_private.h ============================================================================== --- projects/clang500-import/contrib/libarchive/libarchive/archive_openssl_hmac_private.h Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/libarchive/archive_openssl_hmac_private.h Thu May 4 21:30:26 2017 (r317808) @@ -28,7 +28,7 @@ #include <openssl/hmac.h> #include <openssl/opensslv.h> -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) #include <stdlib.h> /* malloc, free */ #include <string.h> /* memset */ static inline HMAC_CTX *HMAC_CTX_new(void) Modified: projects/clang500-import/contrib/libarchive/libarchive/archive_read.c ============================================================================== --- projects/clang500-import/contrib/libarchive/libarchive/archive_read.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/libarchive/archive_read.c Thu May 4 21:30:26 2017 (r317808) @@ -881,7 +881,8 @@ archive_read_data(struct archive *_a, vo len = a->read_data_remaining; if (len > s) len = s; - memcpy(dest, a->read_data_block, len); + if (len) + memcpy(dest, a->read_data_block, len); s -= len; a->read_data_block += len; a->read_data_remaining -= len; Modified: projects/clang500-import/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c ============================================================================== --- projects/clang500-import/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c Thu May 4 21:30:26 2017 (r317808) @@ -928,11 +928,10 @@ setup_sparse(struct archive_read_disk *a return (ARCHIVE_OK); /* Does filesystem support the reporting of hole ? */ - if (*fd < 0) { + if (*fd < 0) path = archive_read_disk_entry_setup_path(a, entry, fd); - if (path == NULL) - return (ARCHIVE_FAILED); - } + else + path = NULL; if (*fd >= 0) { #ifdef _PC_MIN_HOLE_SIZE @@ -943,6 +942,8 @@ setup_sparse(struct archive_read_disk *a if (initial_off != 0) lseek(*fd, 0, SEEK_SET); } else { + if (path == NULL) + return (ARCHIVE_FAILED); #ifdef _PC_MIN_HOLE_SIZE if (pathconf(path, _PC_MIN_HOLE_SIZE) <= 0) return (ARCHIVE_OK); Modified: projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c ============================================================================== --- projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c Thu May 4 21:30:26 2017 (r317808) @@ -494,7 +494,7 @@ lz4_filter_read_data_block(struct archiv if (read_buf == NULL) goto truncated_error; compressed_size = archive_le32dec(read_buf); - if ((compressed_size & ~(1 << 31)) > state->flags.block_maximum_size) + if ((compressed_size & 0x7fffffff) > state->flags.block_maximum_size) goto malformed_error; /* A compressed size == 0 means the end of stream blocks. */ if (compressed_size == 0) { @@ -504,8 +504,8 @@ lz4_filter_read_data_block(struct archiv checksum_size = state->flags.block_checksum; /* Check if the block is uncompressed. */ - if (compressed_size & (1 << 31)) { - compressed_size &= ~(1 << 31); + if (compressed_size & 0x80000000U) { + compressed_size &= 0x7fffffff; uncompressed_size = compressed_size; } else uncompressed_size = 0;/* Unknown yet. */ Modified: projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_format_cab.c ============================================================================== --- projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_format_cab.c Thu May 4 21:04:38 2017 (r317807) +++ projects/clang500-import/contrib/libarchive/libarchive/archive_read_support_format_cab.c Thu May 4 21:30:26 2017 (r317808) @@ -116,19 +116,11 @@ struct lzx_dec { * coding tree, which is a binary tree. But a use of a large * index table causes L1 cache read miss many times. */ -#define HTBL_BITS 10 int max_bits; - int shift_bits; int tbl_bits; int tree_used; - int tree_avail; /* Direct access table. */ uint16_t *tbl; - /* Binary tree table for extra bits over the direct access. */ - struct htree_t { - uint16_t left; - uint16_t right; - } *tree; } at, lt, mt, pt; int loop; @@ -352,7 +344,6 @@ static int lzx_huffman_init(struct huffm static void lzx_huffman_free(struct huffman *); static int lzx_make_huffman_table(struct huffman *); static inline int lzx_decode_huffman(struct huffman *, unsigned); -static int lzx_decode_huffman_tree(struct huffman *, unsigned, int); int @@ -3127,7 +3118,6 @@ getdata: static int lzx_huffman_init(struct huffman *hf, size_t len_size, int tbl_bits) { - int bits; if (hf->bitlen == NULL || hf->len_size != (int)len_size) { free(hf->bitlen); @@ -3138,21 +3128,11 @@ lzx_huffman_init(struct huffman *hf, siz } else memset(hf->bitlen, 0, len_size * sizeof(hf->bitlen[0])); if (hf->tbl == NULL) { - if (tbl_bits < HTBL_BITS) - bits = tbl_bits; - else - bits = HTBL_BITS; - hf->tbl = malloc(((size_t)1 << bits) * sizeof(hf->tbl[0])); + hf->tbl = malloc(((size_t)1 << tbl_bits) * sizeof(hf->tbl[0])); if (hf->tbl == NULL) return (ARCHIVE_FATAL); hf->tbl_bits = tbl_bits; } - if (hf->tree == NULL && tbl_bits > HTBL_BITS) { - hf->tree_avail = 1 << (tbl_bits - HTBL_BITS + 4); - hf->tree = malloc(hf->tree_avail * sizeof(hf->tree[0])); - if (hf->tree == NULL) - return (ARCHIVE_FATAL); - } return (ARCHIVE_OK); } @@ -3161,7 +3141,6 @@ lzx_huffman_free(struct huffman *hf) { free(hf->bitlen); free(hf->tbl); - free(hf->tree); } /* @@ -3174,7 +3153,7 @@ lzx_make_huffman_table(struct huffman *h const unsigned char *bitlen; int bitptn[17], weight[17]; int i, maxbits = 0, ptn, tbl_size, w; - int diffbits, len_avail; + int len_avail; /* * Initialize bit patterns. @@ -3205,28 +3184,11 @@ lzx_make_huffman_table(struct huffman *h weight[i] >>= ebits; } } - if (maxbits > HTBL_BITS) { - int htbl_max; - uint16_t *p; - - diffbits = maxbits - HTBL_BITS; - for (i = 1; i <= HTBL_BITS; i++) { - bitptn[i] >>= diffbits; - weight[i] >>= diffbits; - } - htbl_max = bitptn[HTBL_BITS] + - weight[HTBL_BITS] * hf->freq[HTBL_BITS]; - p = &(hf->tbl[htbl_max]); - while (p < &hf->tbl[1U<<HTBL_BITS]) - *p++ = 0; - } else - diffbits = 0; - hf->shift_bits = diffbits; /* * Make the table. */ - tbl_size = 1 << HTBL_BITS; + tbl_size = 1 << hf->tbl_bits; tbl = hf->tbl; bitlen = hf->bitlen; len_avail = hf->len_size; @@ -3234,120 +3196,32 @@ lzx_make_huffman_table(struct huffman *h for (i = 0; i < len_avail; i++) { uint16_t *p; int len, cnt; - uint16_t bit; - int extlen; - struct htree_t *ht; if (bitlen[i] == 0) continue; /* Get a bit pattern */ len = bitlen[i]; + if (len > tbl_size) + return (0); ptn = bitptn[len]; cnt = weight[len]; - if (len <= HTBL_BITS) { - /* Calculate next bit pattern */ - if ((bitptn[len] = ptn + cnt) > tbl_size) - return (0);/* Invalid */ - /* Update the table */ - p = &(tbl[ptn]); - while (--cnt >= 0) - p[cnt] = (uint16_t)i; - continue; - } - - /* - * A bit length is too big to be housed to a direct table, *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705042130.v44LUR0j072942>