crates.io / zstd-sys / 2.1.2+zstd.1.5.7

zstd-sys 2.1.2+zstd.1.5.7

Source
https://github.com/gyscos/zstd-rs
Artifact scanned
zstd-sys-2.1.2+zstd.1.5.7.crate (crate · 767.4 KB · SHA-256 481ada9c543b…)
Compared with
zstd-sys-2.1.1+zstd.1.5.7.crate (0 signals introduced since)
Files
113 scanned, 16 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 23 info
Scan time
8.2 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 15 of 15 warn and critical signals; 15 demoted to info.
Disclude version
4.3.0
Scanned (UTC)
2026-10-24 11:03

Signals

Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.

  1. compression ratio 0.601 is >2σ above file mean 0.494 (raw pass, confidence 0.50)

        #[doc = "< force dictID value; 0 means auto mode (32-bits random value)\n   NOTE: The zstd format reserves some dictionary IDs for future use.\n         You may use them in private settings, but be warned that they\n         may be used by zstd in a public dictionary registry in the future.\n         These dictiona
  2. compression ratio 0.601 is >2σ above file mean 0.494 (raw pass, confidence 0.50)

        #[doc = "< force dictID value; 0 means auto mode (32-bits random value)\n   NOTE: The zstd format reserves some dictionary IDs for future use.\n         You may use them in private settings, but be warned that they\n         may be used by zstd in a public dictionary registry in the future.\n         These dictiona
  3. info high-complexity src/bindings_zstd.rs:498:14

    compression ratio 0.824 is >2σ above file mean 0.587 (raw pass, confidence 0.50)

    extern "C" {
        #[doc = " ZSTD_freeCDict() :\n  Function frees memory allocated by ZSTD_createCDict().\n  If a NULL pointer is passed, no operation is performed."]
        pub fn ZSTD_freeCDict(CDict: *mut ZSTD_CDict) -> usize;
    }
  4. info high-complexity src/bindings_zstd.rs:526:14

    compression ratio 0.818 is >2σ above file mean 0.587 (raw pass, confidence 0.50)

    extern "C" {
        #[doc = " ZSTD_freeDDict() :\n  Function frees memory allocated with ZSTD_createDDict()\n  If a NULL pointer is passed, no operation is performed."]
        pub fn ZSTD_freeDDict(ddict: *mut ZSTD_DDict) -> usize;
    }
  5. compression ratio 0.824 is >2σ above file mean 0.598 (raw pass, confidence 0.50)

    extern "C" {
        #[doc = " ZSTD_freeCDict() :\n  Function frees memory allocated by ZSTD_createCDict().\n  If a NULL pointer is passed, no operation is performed."]
        pub fn ZSTD_freeCDict(CDict: *mut ZSTD_CDict) -> usize;
    }
  6. compression ratio 0.818 is >2σ above file mean 0.598 (raw pass, confidence 0.50)

    extern "C" {
        #[doc = " ZSTD_freeDDict() :\n  Function frees memory allocated with ZSTD_createDDict()\n  If a NULL pointer is passed, no operation is performed."]
        pub fn ZSTD_freeDDict(ddict: *mut ZSTD_DDict) -> usize;
    }
  7. compression ratio 0.824 is >2σ above file mean 0.606 (raw pass, confidence 0.50)

    extern "C" {
        #[doc = " ZSTD_freeCDict() :\n  Function frees memory allocated by ZSTD_createCDict().\n  If a NULL pointer is passed, no operation is performed."]
        pub fn ZSTD_freeCDict(CDict: *mut ZSTD_CDict) -> usize;
    }
  8. compression ratio 0.818 is >2σ above file mean 0.606 (raw pass, confidence 0.50)

    extern "C" {
        #[doc = " ZSTD_freeDDict() :\n  Function frees memory allocated with ZSTD_createDDict()\n  If a NULL pointer is passed, no operation is performed."]
        pub fn ZSTD_freeDDict(ddict: *mut ZSTD_DDict) -> usize;
    }
  9. info warn → info by review macro-keyword-override zstd/lib/common/xxhash.h:3726:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

       || (defined(__wasm_simd128__) && XXH_HAS_INCLUDE(<arm_neon.h>)) /* WASM SIMD128 via SIMDe */
    #    define inline __inline__  /* circumvent a clang bug */
    #    include <arm_neon.h>
    #    undef inline
    likely benign LLM, confidence 0.97 Temporary #define of inline around including arm_neon.h to work around a clang bug.
    Reasoning

    This is the standard portable-compat idiom: inline is redefined to __inline__ only around including arm_neon.h to work around a clang bug, then undefined. Legitimate compatibility macro in zstd's vendored xxhash.

  10. info warn → info by review identifier-confusable-collision zstd/lib/common/xxhash.h:4611:23

    two identifiers collapse to visual skeleton `bitf|ip|` (0/O/o and 1/l/I are confusable) (token pass, confidence 0.80)

        XXH_ASSERT(9 <= len && len <= 16);
        {   xxh_u64 const bitflip1 = (XXH_readLE64(secret+24) ^ XXH_readLE64(secret+32)) + seed;
            xxh_u64 const bitflip2 = (XXH_readLE64(secret+40) ^ XXH_readLE64(secret+48)) - seed;
            xxh_u64 const input_lo = XXH_readLE64(input)           ^ bitflip1;
    likely benign LLM, confidence 0.95 Local variable names in xxhash's 9-16 byte path appear confusable only under a loose skeleton comparison.
    Reasoning

    The two identifiers bitflip1 and bitflip2 (or similar names) collide only under a visual skeleton that treats l/1/I and o/0 as equivalent; these are ordinary local variable names in a well-known hash implementation, with no homoglyph or Unicode trickery in the snippet.

  11. info warn → info by review identifier-confusable-collision zstd/lib/dictBuilder/divsufsort.c:265:7

    two identifiers collapse to visual skeleton `do` (0/O/o and 1/l/I are confusable) (token pass, confidence 0.80)

        for(t = *i, j = i + 1; 0 < (r = ss_compare(T, PA + t, PA + *j, depth));) {
          do { *(j - 1) = *j; } while((++j < last) && (*j < 0));
          if(last <= j) { break; }
        }
    likely benign LLM, confidence 0.95 A do-while loop in the divsufsort insertion sort, flagged by a confusable-identifier heuristic.
    Reasoning

    The 'do' skeleton collision is a false positive from a keyword-shaped identifier collapse; the code is a standard do-while loop in the divsufsort suffix-sorting algorithm, which is ordinary C.

  12. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v02.c:1428:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #elif defined(_MSC_VER)
    #  define inline __inline
    #else
    #  define inline /* disable inline */
    likely benign LLM, confidence 0.97 Portability macro mapping inline to __inline on MSVC and empty elsewhere.
    Reasoning

    Standard portability block mapping inline to __inline on MSVC and disabling it otherwise; this is common in legacy zstd sources.

  13. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v02.c:1430:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #else
    #  define inline /* disable inline */
    #endif
    likely benign LLM, confidence 0.97 Fallback that defines inline as empty for compilers lacking it.
    Reasoning

    Empty redefinition of inline in the fallback branch, a standard way to disable inline for compilers without support; with the matching undef this is benign.

  14. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v03.c:1429:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #  pragma warning(disable : 4127)        /* disable: C4127: conditional expression is constant */
    #  define inline __inline
    #else
    #  define inline /* disable inline */
    likely benign LLM, confidence 0.97 Portability macro mapping inline to __inline on MSVC and empty elsewhere.
    Reasoning

    Same standard MSVC/fallback inline portability macro as in other zstd sources.

  15. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v03.c:1431:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #else
    #  define inline /* disable inline */
    #endif
    likely benign LLM, confidence 0.97 Fallback that defines inline as empty for compilers lacking it.
    Reasoning

    Empty fallback definition of inline for compilers without the keyword; benign portability code.

  16. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v04.c:1583:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #elif defined(_MSC_VER)
    #  define inline __inline
    #else
    #  define inline /* disable inline */
    likely benign LLM, confidence 0.97 Portability macro mapping inline to __inline on MSVC and empty elsewhere.
    Reasoning

    Standard MSVC/fallback inline portability macro in legacy zstd code.

  17. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v04.c:1585:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #else
    #  define inline /* disable inline */
    #endif
    likely benign LLM, confidence 0.97 Fallback that defines inline as empty for compilers lacking it.
    Reasoning

    Empty fallback definition of inline; benign portability code.

  18. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v05.c:1689:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #elif defined(_MSC_VER)
    #  define inline __inline
    #else
    #  define inline /* disable inline */
    likely benign LLM, confidence 0.97 Portability macro mapping inline to __inline on MSVC and empty elsewhere.
    Reasoning

    Standard MSVC/fallback inline portability macro in legacy zstd code.

  19. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v05.c:1691:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #else
    #  define inline /* disable inline */
    #endif
    likely benign LLM, confidence 0.97 Fallback that defines inline as empty for compilers lacking it.
    Reasoning

    Empty fallback definition of inline; benign portability code.

  20. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v06.c:1914:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #elif defined(_MSC_VER)
    #  define inline __inline
    #else
    #  define inline /* disable inline */
    likely benign LLM, confidence 0.97 Portability macro mapping inline to __inline on MSVC and empty elsewhere.
    Reasoning

    Standard MSVC/fallback inline portability macro in legacy zstd code.

  21. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v06.c:1916:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #else
    #  define inline /* disable inline */
    #endif
    likely benign LLM, confidence 0.97 Fallback that defines inline as empty for compilers lacking it.
    Reasoning

    Empty fallback definition of inline; benign portability code.

  22. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v07.c:1683:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #elif defined(_MSC_VER)
    #  define inline __inline
    #else
    #  define inline /* disable inline */
    likely benign LLM, confidence 0.97 Portability macro mapping inline to __inline on MSVC and empty elsewhere.
    Reasoning

    Standard MSVC/fallback inline portability macro in legacy zstd code.

  23. info warn → info by review macro-keyword-override zstd/lib/legacy/zstd_v07.c:1685:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #else
    #  define inline /* disable inline */
    #endif
    likely benign LLM, confidence 0.97 Fallback that defines inline as empty for compilers lacking it.
    Reasoning

    Empty fallback definition of inline; benign portability code.

Reproduce This Scan

Run disclude locally to verify. These commands scan the published file; the "new in this release" marks come from comparing it with the previous release's file, which they don't repeat. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.

cargo install disclude --version 4.3.0
curl -fsSL -o zstd-sys-2.1.2+zstd.1.5.7.crate 'https://static.crates.io/crates/zstd%2Dsys/zstd%2Dsys-2%2E1%2E2%2Bzstd%2E1%2E5%2E7.crate'
printf '%s  %s\n' 481ada9c543b2323cbb7bbdbb5249177fbf0188ed959ed2c15e4b22421c84ed3 zstd-sys-2.1.2+zstd.1.5.7.crate | shasum -a 256 -c -
mkdir pkg && tar -xzf zstd-sys-2.1.2+zstd.1.5.7.crate -C pkg --strip-components 1
disclude scan --untrusted --severity info pkg