INNER CODE UNIT · C

c

jedisct1/libsodium-php · libsodium.c:3916

            c = tail[-i];
            is_barrier =
                (( (acc - 1U) & (pad_len - 1U) & ((c ^ 0x80) - 1U) ) >> 8) & 1U;
            acc |= c;
            pad_len |= i & (1U + ~is_barrier);
            valid |= (unsigned char) is_barrier;
        }
        unpadded_len = padded_len - 1U - pad_len;
        ret = (int) (valid - 1U);
    }
#endif
    if (ret != 0 || unpadded_len > LONG_MAX) {
        zend_throw_exception(sodium_exception_ce, "invalid padding", 0);
        return;
    }
    unpadded = zend_string_init(padded, padded_len, 0);
    PHP_SODIUM_ZSTR_TRUNCATE(unpadded, unpadded_len);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…