Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Builder gtar-solaris10-i386 Build #254

Results:

Failed shell shell_1 shell_2 shell_3

SourceStamp:

Projectgtar
Repositorygit://git.savannah.gnu.org/tar.git
Branchmaster
Revisiona80f364662cbe6bb213962d57419230673bdcb55
Got Revisiona80f364662cbe6bb213962d57419230673bdcb55
Changes39 changes

BuildSlave:

unstable10x

Reason:

The SingleBranchScheduler scheduler named 'schedule-gtar-solaris10-i386' triggered this build

Steps and Logfiles:

  1. git update ( 3 secs )
    1. stdio
  2. shell '/opt/csw/bin/bash bootstrap' failed ( 31 secs )
    1. stdio
  3. shell_1 './configure' failed ( 0 secs )
    1. stdio
  4. shell_2 'gmake' failed ( 0 secs )
    1. stdio
  5. shell_3 'gmake check' failed ( 0 secs )
    1. stdio
    2. testsuite.log

Build Properties:

NameValueSource
branch master Build
builddir /export/home/buildbot/slave/gtar-solaris10-i386 slave
buildername gtar-solaris10-i386 Builder
buildnumber 254 Build
codebase Build
got_revision a80f364662cbe6bb213962d57419230673bdcb55 Git
project gtar Build
repository git://git.savannah.gnu.org/tar.git Build
revision a80f364662cbe6bb213962d57419230673bdcb55 Build
scheduler schedule-gtar-solaris10-i386 Scheduler
slavename unstable10x BuildSlave
workdir /export/home/buildbot/slave/gtar-solaris10-i386 slave (deprecated)

Forced Build Properties:

NameLabelValue

Responsible Users:

  1. Paul Eggert

Timing:

StartSun Aug 4 10:50:47 2024
EndSun Aug 4 10:51:22 2024
Elapsed35 secs

All Changes:

:

  1. Change #203203

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:42
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision f22b9fe3ce4ca1580b6a1c3822ecdd26ae2b2c66

    Comments

    maint: fix some unlikely wordsplit overflows
    * gnulib.modules: Add reallocarray.
    * lib/wordsplit.c: Include stdckdint.h.
    (ISDELIM, expvar, isglob, scan_word):
    Defend against strchr (s, 0) always succeeding.
    (alloc_space, wsplit_assign_vars):
    Fix some unlikely integer overflows, partly by using reallocarray.
    (alloc_space): Avoid quadratic worst-case behavior.
    (isglob): Return bool, not int.  Accept size_t, not int.
    (to_num): Remove; no longer used.
    (xtonum): Clarify the code the bit.  Rely on portable
    conversion to unsigned char rather than problematic pointer cast.

    Changed files

    • gnulib.modules
    • lib/wordsplit.c
  2. Change #203204

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision b26e798a0f79b1aedcddf8eac53e05a073333031

    Comments

    xsparse cleanup, including integer overflow
    * scripts/xsparse.c: Include inttypes.h, for strtoimax.
    Don’t include stdint.h, since inttypes.h includes it.
    Sort include directives.
    Make all extern functions and vars static, except for ‘main’.
    (string_to_off): Use strtoimax instead of doing overflow
    checking by hand, incorrectly (it relied on undefined behavior).
    (string_to_size): New arg MAXSIZE.  All callers changed.
    (get_var): Return bool not int.  Fix unlikely integer overflow.
    Use strncmp instead of memcmp, to avoid unlikely pointer overflow.
    (read_xheader, read_map, main): Avoid unlikely integer overflow.
    Check for I/O errors more consistently.
    (main): Prefer bool to int, and put vars near use.

    Changed files

    • scripts/xsparse.c
  3. Change #203205

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 7079fc369b30404fc0b7f292716033b4a41c478e

    Comments

    Better overflow checking for blocking factor
    * src/tar.c (parse_opt): Use ckd_add and ckd_mul instead of
    less-obvious code that relies on implementation-defined
    conversions.

    Changed files

    • src/tar.c
  4. Change #203206

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 91ee466c8ad2edcaa680f124a28949930fb44271

    Comments

    Fix unlikely overflow in transform.c
    * src/transform.c (_single_transform_name_to_obstack):
    Use xinmalloc to check for integer overflow.

    Changed files

    • src/transform.c
  5. Change #203207

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 7557fdd4df25e0f2c504361b613b9d7fee14d6de

    Comments

    Fix unlikely overflow in utf8_convert
    * src/utf8.c (utf8_convert): Check for integer overflow.

    Changed files

    • src/utf8.c
  6. Change #203208

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision dcc90722ac885d6e5cd0b4ba59ae9f3666a873c3

    Comments

    Fix tests/ckmtime.c arithmetic
    * tests/ckmtime.c (main): Don’t assume time_t is signed.
    Avoid integer overflows (quite possible if time_t is 32 bit).
    Do calculations precisely, without any rounding errors.

    Changed files

    • tests/ckmtime.c
  7. Change #203209

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision c6a5af16ba0ceff08b58d8a26cdbed2b300ccd0a

    Comments

    maint: use static_assert
    * gnulib.modules: Add assert-h, for static_assert.
    * src/common.h, src/list.c, src/misc.c:
    Prefer static_assert to #if + #error.  This doesn’t fix any bugs; it’s
    just that in general it’s better to avoid the preprocessor.

    Changed files

    • gnulib.modules
    • src/common.h
    • src/list.c
    • src/misc.c
  8. Change #203210

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 927d67855e2e83b6b06eb9095f65e4e695d6af7e

    Comments

    Cleaner overflow checking in xheader_read
    * src/xheader.c (xheader_read): Prefer ckd_add to
    doing overflow checking by hand.

    Changed files

    • src/xheader.c
  9. Change #203211

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 8a3fc529729acf38276b27f6b7bc50962dfab799

    Comments

    Simplify read_header overflow checking
    * src/list.c (read_header): Use ckd_add instead of
    doing overflow checking by hand.  Although the old code
    was correct on all practical hosts, the new code is simpler
    and works even on weird hosts where SIZE_MAX <= INT_MAX.

    Changed files

    • src/list.c
  10. Change #203212

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision be1aa32c6df9fea3e429ff62eebc3d8de28e0f67

    Comments

    Use ckd_add in page_aligned_alloc
    * src/misc.c (page_aligned_alloc): Use ckd_add
    instead of doing overflow checking by hand.

    Changed files

    • src/misc.c
  11. Change #203213

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision a9372cf08a05723b2a06efff3402077598138238

    Comments

    Prefer stdckdint.h to intprops.h
    Problem reported by Collin Funk in:
    https://lists.gnu.org/r/bug-tar/2024-07/msg00000.html
    though this patch is more general than Collin’s suggestion.
    * src/compare.c (diff_multivol):
    * src/delete.c (move_archive):
    * src/sparse.c (oldgnu_add_sparse, pax_decode_header):
    * src/system.c (mtioseek):
    Prefer ckd_add and ckd_mul to the intprops.h equivalents,
    since stdckdint.h is now standard.

    Changed files

    • src/compare.c
    • src/delete.c
    • src/sparse.c
    • src/system.c
  12. Change #203214

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision bf195d4ae420da5c44730f8f041ae6cf0642a606

    Comments

    ptrdiff_t, not ssize_t
    * src/buffer.c (bufmap_reset, _flush_write):
    Use ptrdiff_t, not ssize_t, to record pointer differences.
    POSIX allows systems where size_t is 64 bits but ssize_t is only 32;
    Ultrix used to do that, though no current systems do.

    Changed files

    • src/buffer.c
  13. Change #203215

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 39d315e8eaefacd39103a0d17dd4f7bc83af70e3

    Comments

    ptrdiff_t, not int
    * src/delete.c (delete_archive_members): Use ptrdiff_t, not int,
    to count memory blocks.
    (write_recent_bytes): Simplify remainder calculation.

    Changed files

    • src/delete.c
  14. Change #203216

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision aae99e863d3c59cbad4703e678045b13984dda35

    Comments

    maint: omit space between "*" and "p"

    Changed files

    • src/common.h
    • src/names.c
    • src/xattrs.c
  15. Change #203217

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 6c91bd82e1001a72ffd2e7dd3a2ce1668a513247

    Comments

    Fix unlikely problems with time overflow
    Also, fix some rounding errors while we’re in the neighborhood.
    * src/buffer.c (duration_ns, compute_duration_ns): Rename from
    ‘duration’ and ‘compute_duration’, and count ns rather than s, to
    lessen rounding error.  All uses changed.
    (compute_duration_ns): Work even if the clock moves backward
    and time_t is unsigned.
    (print_stats): Don’t worry about null or empty TEXT, as that
    cannot happen.  Compare double to UINTMAX_MAX + 1.0, not
    to UINTMAX_MAX, so that the comparison is exact.
    Handle the unlikely case that numbytes >= UINTMAX_MAX.
    * src/tar.c (parse_opt): Treat -L hugenumber as effectively
    infinity rather than erroring out.
    Prefer ckd_add to checking overflow by hand.

    Changed files

    • src/buffer.c
    • src/checkpoint.c
    • src/common.h
    • src/tar.c
  16. Change #203218

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision c26111742a3a63effd02ff225d79a0e6507e94bd

    Comments

    Prefer C99 formats like %jd to doing it by hand
    It’s now safe to assume support for C99 formats like %jd, so remove
    some of the longwinded formatting code put in only to be portable to
    pre-C99 platforms.
    * gnulib.modules: Add intprops.
    * src/buffer.c (format_total_stats, try_new_volume)
    (write_volume_label):
    * src/checkpoint.c (format_checkpoint_string):
    * src/compare.c (verify_volume):
    * src/create.c (to_chars_subst, dump_regular_file):
    * src/incremen.c (read_num):
    * src/list.c (read_and, from_header, simple_print_header)
    (print_for_mkdir):
    * src/sparse.c (sparse_dump_region):
    * src/system.c (dec_to_env, sys_exec_info_script)
    (sys_exec_checkpoint_script):
    * src/xheader.c (out_of_range_header):
    Prefer C99 formats like %jd and %ju to STRINGIFY_BIGINT.
    * src/common.h: Sort includes.
    Include intprops.h, verify.h.  All other includes of verify.h
    removed.
    (intmax, uintmax): New functions and macros.
    (STRINGIFY_BIGINT): Remove; no longer used.
    (TIMESPEC_STRSIZE_BOUND): Make it 1 byte bigger, for negatives.
    * src/create.c (MAX_VAL_WITH_DIGITS, to_base256):
    Use *_WIDTH macros rather than assuming no padding bits.
    Prefer UINTMAX_MAX to (uintmax_t) -1.
    * src/list.c (tartime): Use strftime result rather
    than running strlen later.
    * src/misc.c (timetostr): New function.  Prefer it when
    printing time_t values.

    Changed files

    • gnulib.modules
    • src/buffer.c
    • src/checkpoint.c
    • src/common.h
    • src/compare.c
    • src/create.c
    • src/incremen.c
    • src/list.c
    • src/misc.c
    • src/sparse.c
    • src/system.c
    • src/tar.c
    • src/xheader.c
  17. Change #203219

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision a78af4b95e53603a47e9d7971fc37f5d06cf14d8

    Comments

    Don’t assume mode_t fits in unsigned long
    * src/system.c (oct_to_env): Don’t assume mode_t fits in unsigned
    long.  Do not output excess leading 1 bits.  When the mode is
    zero, generate "0" rather than "00".  Use sprintf instead of
    snprintf, since the output won’t be truncated; in general we don’t
    use snprintf unless we want output to be truncated and truncation
    is typically not GNU style.

    Changed files

    • src/system.c
  18. Change #203220

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision fbc60c2334326fc2f748226abe76190ecf39a26b

    Comments

    from_header minor width cleanup
    * src/list.c (from_header): Use UINTMAX_WIDTH rather than
    computing it by hand.

    Changed files

    • src/list.c
  19. Change #203221

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 61656ef35bc0879e7172cab976fdbbc231d7a3b5

    Comments

    Make stripped_prefix_len signed
    This is part of the general guideline that signed integer types
    are safer.
    * src/names.c (stripped_prefix_len): Return ptrdiff_t,
    not size_t.  All callers changed.

    Changed files

    • src/common.h
    • src/list.c
    • src/names.c
  20. Change #203222

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision ba332e36d0a308bf0fd34178928118598aff4a15

    Comments

    Use xalignalloc
    It ports around issues that our handwritten code does not.
    * gnulib.modules: Add xalignalloc.
    * src/misc.c (ptr_align, page_aligned_alloc): Remove.
    All page_aligned_alloc callers changed to use xalignalloc.

    Changed files

    • gnulib.modules
    • src/buffer.c
    • src/common.h
    • src/compare.c
    • src/misc.c
  21. Change #203223

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 44196e198f004df24e9a8e63b33bb20996840280

    Comments

    Better xsparse outname guessing
    * scripts/xsparse.c (guess_outname): Use simpler algorithm,
    that doesn’t mishandle outnames like ‘/foo’.

    Changed files

    • doc/tar.texi
    • scripts/xsparse.c
  22. Change #203224

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 9cb12936283bebb2f04524bfc970457dc0ed8f57

    Comments

    xsparse dry runs should not create output
    * scripts/xsparse.c (expand_sparse, main): Check for syscall
    failure.  Do not create output file if a dry run.

    Changed files

    • scripts/xsparse.c
  23. Change #203225

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 281e03ec6ccb9e6da134f8f6b9a9ff51c42f5737

    Comments

    Prefer < 0 to == -1 where either will do
    Also, fix an unlikely read overflow in sys_exec_setmtime_script.
    * src/buffer.c (open_compressed_archive):
    * src/compare.c (verify_volume):
    * src/exclist.c (info_attach_exclist):
    * src/misc.c (xfork):
    * src/sparse.c (sparse_scan_file_seek):
    * src/system.c (sys_wait_for_child, sys_spawn_shell)
    (wait_for_grandchild, sys_wait_command, sys_exec_info_script)
    (sys_exec_checkpoint_script, sys_exec_setmtime_script):
    * src/transform.c (_single_transform_name_to_obstack):
    * src/xattrs.c (xattrs__acls_set, xattrs_acls_get)
    (xattrs_xattrs_get, xattrs__fd_set, xattrs_selinux_get)
    (xattrs_selinux_set):
    * tests/checkseekhole.c (check_seek_hole, main):
    Simplify failure tests by just looking at return value sign.
    * src/system.c (sys_exec_setmtime_script):
    Don’t assume ‘read’ result fits in int.
    (sys_exec_setmtime_script): Don’t reject 1 second before Epoch.

    Changed files

    • src/buffer.c
    • src/compare.c
    • src/exclist.c
    • src/misc.c
    • src/sparse.c
    • src/system.c
    • src/transform.c
    • src/xattrs.c
    • tests/checkseekhole.c
  24. Change #203226

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 414f635d8bba4c8894855040b1e6b77b07dc07bd

    Comments

    Use ckd_mul, ckd_add in from_header
    * src/common.h (LG_64): Remove; no longer used.
    * src/list.c (from_header):
    Use ckd_mul, ckd_add rather than doing it by hand.

    Changed files

    • src/common.h
    • src/list.c
  25. Change #203227

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision aca308a778920ed52d00f698ea4a244e0da43992

    Comments

    Use ckd_mul, ckd_add in to_octal, to_base256
    * src/create.c (to_octal, to_base256): Simplify.

    Changed files

    • src/create.c
  26. Change #203228

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 51c841b92736697358cb126af2a9738972788359

    Comments

    Simplify ST_DEV_MSB
    * src/incremen.c (ST_DEV_MSB):
    Use TYPE_WIDTH rather than computing it by hand.

    Changed files

    • src/incremen.c
  27. Change #203229

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision c26c2ea2e9747101b4c63640bbdf8225f184e13d

    Comments

    Minor utf8.c improvements
    * src/utf8.c: Minor rephrases for -1.

    Changed files

    • src/utf8.c
  28. Change #203230

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision f13f2d6815e341fe502a7a299e8c825837de3e4c

    Comments

    Parse level options more reliably
    * src/tar.c (parse_opt): Don’t mishandle out-of-range LEVEL_OPTION.

    Changed files

    • src/tar.c
  29. Change #203231

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 390950282d98d82a64fe7a17f8a897bcc0b3f41e

    Comments

    maint: fix some encodings and email addresses

    Changed files

    • ChangeLog.1
    • ChangeLog.CVS
    • THANKS
    • TODO
    • bootstrap.conf
    • directory
    • src/checkpoint.c
    • tests/acls03.at
    • tests/multiv05.at
  30. Change #203232

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision cc691f82727f0e0f274cb4e9490bb02c14dc8931

    Comments

    Support >INT_MAX -C dirs
    * src/extract.c (struct delayed_set_stat, struct delayed_link):
    * src/misc.c (normalize_filename, wd_count, chdir_count)
    (chdir_arg, tar_getcdpath):
    * src/names.c (name_gather, addname, add_hierarchy_to_namelist):
    * src/unlink.c (struct deferred_unlink, flush_deferred_unlinks):
    Use idx_t, not int, for directory indexes, so as to not
    limit their number to INT_MAX; this is theoretically possible
    if -T is used.
    * src/names.c (name_next_elt, name_next):
    Use bool for boolean.

    Changed files

    • src/common.h
    • src/create.c
    • src/extract.c
    • src/misc.c
    • src/names.c
    • src/unlink.c
  31. Change #203233

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 7cda31b1e0c5ebdafc6fc0e523a9b111bda8536c

    Comments

    Prefer idx_t to size_t in wordsplit
    * gnulib.modules: Add ialloc.
    * lib/wordsplit.c: Include ialloc.h.
    (PRINTMAX): New constant.
    (printflen, printfdots): New functions.
    (wordsplit_dump_nodes, expvar, wordsplit_process_list): Use them.
    (_wsplt_subsplit, wordsplit_string_unquote_copy):
    Don’t limit lengths to INT_MAX.
    (wordsplit_run): Remove.  All callers changed to use wordsplit_len.
    (wordsplit_perror): Don’t limit lengths to ULONG_MAX.
    * lib/wordsplit.c (wordsplit_init, alloc_space, struct wordsplit_node)
    (wsnode_len, wordsplit_add_segm, coalesce_segment, wsnode_quoteremoval)
    (wordsplit_finish, wordsplit_append, node_split_prefix)
    (find_closing_paren, wordsplit_find_env, wsplt_assign_var)
    (expvar, node_expand, expcmd, wordsplit_trimws)
    (wordsplit_tildexpand, isglob, wordsplit_pathexpand)
    (skip_sed_expr, skip_delim_internal, skip_delim)
    (skip_delim_real, scan_qstring, scan_word)
    (wordsplit_c_quoted_length, wordsplit_process_list)
    (wordsplit_len, wordsplit_free_words, wordsplit_get_words):
    * lib/wordsplit.h (struct wordsplit):
    Prefer idx_t to size_t for indexes.
    * lib/wordsplit.h: Include idx.h.

    Changed files

    • gnulib.modules
    • lib/wordsplit.c
    • lib/wordsplit.h
    • src/exclist.c
    • src/system.c
  32. Change #203234

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 9cef4d5495837b30d955f467f2e9c7c4066764c3

    Comments

    Fix unlikely buffer overrun when checkpointing
    * src/checkpoint.c (format_checkpoint_string):
    Don’t overrun buffer when word splitting.

    Changed files

    • src/checkpoint.c
  33. Change #203235

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision dab2830e38b40e2f32c916d42a9c5946d7685ed1

    Comments

    Diagnose argp overflow
    * src/names.c (handle_option):
    * src/tar.c (parse_default_options):
    Report an error if wordsplitting yields more than INT_MAX words,
    rather than misbehaving.  argp_parse can’t handle more than
    INT_MAX, unfortunately.

    Changed files

    • src/names.c
    • src/tar.c
  34. Change #203236

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 0ab451a420bcdabb35b8dd3fd461fa540ff16309

    Comments

    More wordsplit int cleanup
    * lib/wordsplit.c: Include limits.h.
    (_wsplt_subsplit, wordsplit_add_segm, wsnode_quoteremoval)
    (wsnode_coalesce, wsnode_tail_coalesce, find_closing_paren)
    (expvar, begin_var_p, node_expand, begin_cmd_p, expcmd)
    (scan_qstring, scan_word, wordsplit_c_quoted_length)
    (wordsplit_string_unquote_copy, wordsplit_c_quote_copy)
    (exptab_matches, wordsplit_process_list):
    Prefer bool to int.
    (wordsplit_init, alloc_space, coalesce_segment)
    (wsnode_quoteremoval, wordsplit_finish, wordsplit_append):
    Use WRDSE_OK instead of 0 when the context is that of WRDSE_*.
    (wsnode_flagstr, coalesce_segment, wsnode_quoteremoval)
    (wordsplit_finish, node_split_prefix, wsplt_assign_var, expvar)
    (expcmd, wordsplit_tildexpand, wordsplit_pathexpand)
    (wsplt_unquote_char, wsplt_quote_char)
    (wordsplit_string_unquote_copy):
    Prefer '\0' to 0 when it is a char.
    (wsnode_insert): Omit last arg, which was always 0.
    All callers changed.
    (wordsplit_add_segm, node_split_prefix):
    Use unsigned, not int, for flag, for consistency.
    (wordsplit_finish, begin_var_p, begin_cmd_p, skip_sed_expr)
    (xtonum, wsplt_unquote_char, wsplt_quote_char)
    (wordsplit_c_unquote_char, wordsplit_c_quote_char)
    (wordsplit_c_quote_copy):
    Prefer char to int for chars.
    (xtonum): Don’t treat "\400" as if it were "\000".

    Changed files

    • lib/wordsplit.c
    • lib/wordsplit.h
  35. Change #203237

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 5182462cf1755ebc3d1d589c0cced37ad92ca528

    Comments

    wordsplit_get_words need not fail
    * lib/wordsplit.c (wordsplit_get_words):
    Do not fail merely because realloc fails.
    Return void, since failure is no longer possible.

    Changed files

    • lib/wordsplit.c
    • lib/wordsplit.h
  36. Change #203238

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 9a2344b183c903e3e42300a7c1c7be5ee8b8f110

    Comments

    Omit wordsplit API that tar doesn’t need
    * lib/wordsplit.c: Include <attribute.h> here, not in wordsplit.h.
    (WRDSO_ESC_SET, WRDSO_ESC_TEST): Move here from wordsplit.h.
    (WORDSPLIT_EXTRAS_extern): New macro.  Used by functions
    that tar doesn’t need to be exposed.
    (wordsplit_append, wordsplit_c_quoted_length, wsplt_quote_char)
    (wordsplit_c_unquote_char, wordsplit_c_quote_char)
    (wordsplit_c_quote_copy, wordsplit_get_words, wordsplit_perror):
    Omit unless _WORDSPLIT_EXTRAS.
    (WORDSPLIT_ENV_INIT): Move here from wordsplit.h, and
    make it a constant rather than a macro.
    (wordsplit_strerror): Arg is now pointer to const.
    * lib/wordsplit.h: Do not include attribute.h, so that library
    users need not worry about attribute.h.
    (wordsplit_t): Declare only if _WORDSPLIT_EXTRAS.  Similarly for
    functions that are not exported to tar.

    Changed files

    • lib/wordsplit.c
    • lib/wordsplit.h
  37. Change #203239

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 83926613a4f4dd0fb7c4605219ca6d81f25f8fa3

    Comments

    Prefer ialloc for wordsplit
    * lib/wordsplit.c (alloc_space, wsplt_assign_var, expvar)
    (wordsplit_tildexpand, wordsplit_pathexpand)
    (wordsplit_get_words): Use ialloc API on idx_t args.

    Changed files

    • lib/wordsplit.c
  38. Change #203240

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 5316938142699c5879bbb1ee6393c302bc45385d

    Comments

    Avoid wordsplit quadratic behavior
    * lib/wordsplit.c (wsplt_assign_var):
    Avoid unlikely overflow when adding wsp->ws_envidx + n.
    Avoid quadratic	behavior when growing ws_envbuf.

    Changed files

    • lib/wordsplit.c
  39. Change #203241

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Sun 04 Aug 2024 10:41:43
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision a80f364662cbe6bb213962d57419230673bdcb55

    Comments

    Avoid snprintf
    * gnulib.modules: Remove snprintf.
    * lib/wordsplit.c (wordsplit_pathexpand):
    Do not arbitrarily truncate diagnostic.
    (wordsplit_c_quote_copy): Rewrite to avoid the need to
    invoke snprintf on a temporary buffer.

    Changed files

    • gnulib.modules
    • lib/wordsplit.c