Lines Matching refs:srcSize
187 * srcSize must be >= ZSTD_frameHeaderSize_prefix.
189 static size_t ZSTD_frameHeaderSize(const void *src, size_t srcSize)
191 if (srcSize < ZSTD_frameHeaderSize_prefix)
203 * decode Frame Header, or require larger `srcSize`.
205 * >0, `srcSize` is too small, result is expected `srcSize`,
207 size_t ZSTD_getFrameParams(ZSTD_frameParams *fparamsPtr, const void *src, size_t srcSize)
211 if (srcSize < ZSTD_frameHeaderSize_prefix)
215 if (srcSize < ZSTD_skippableHeaderSize)
225 /* ensure there is enough `srcSize` to fully read/decode frame header */
227 size_t const fhsize = ZSTD_frameHeaderSize(src, srcSize);
228 if (srcSize < fhsize)
296 * - ZSTD_CONTENTSIZE_ERROR if an error occurred (e.g. invalid magic number, srcSize too small) */
297 unsigned long long ZSTD_getFrameContentSize(const void *src, size_t srcSize)
301 if (ZSTD_getFrameParams(&fParams, src, srcSize) != 0)
316 * `srcSize` must be the exact length of some number of ZSTD compressed and/or
319 unsigned long long ZSTD_findDecompressedSize(const void *src, size_t srcSize)
323 while (srcSize >= ZSTD_frameHeaderSize_prefix) {
328 if (srcSize < ZSTD_skippableHeaderSize)
331 if (srcSize < skippableSize) {
336 srcSize -= skippableSize;
341 unsigned long long const ret = ZSTD_getFrameContentSize(src, srcSize);
351 size_t const frameSrcSize = ZSTD_findFrameCompressedSize(src, srcSize);
357 srcSize -= frameSrcSize;
361 if (srcSize) {
394 size_t ZSTD_getcBlockSize(const void *src, size_t srcSize, blockProperties_t *bpPtr)
396 if (srcSize < ZSTD_blockHeaderSize)
412 static size_t ZSTD_copyRawBlock(void *dst, size_t dstCapacity, const void *src, size_t srcSize)
414 if (srcSize > dstCapacity)
416 memcpy(dst, src, srcSize);
417 return srcSize;
420 static size_t ZSTD_setRleBlock(void *dst, size_t dstCapacity, const void *src, size_t srcSize, size_t regenSize)
422 if (srcSize != 1)
431 @return : nb of bytes read from src (< srcSize ) */
432 size_t ZSTD_decodeLiteralsBlock(ZSTD_DCtx *dctx, const void *src, size_t srcSize) /* note : srcSize < BLOCKSIZE */
434 if (srcSize < MIN_CBLOCK_SIZE)
447 if (srcSize < 5)
448 return ERROR(corruption_detected); /* srcSize >= MIN_CBLOCK_SIZE == 3; here we need up to 5 for case 3 */
479 if (litCSize + lhSize > srcSize)
522 if (lhSize + litSize + WILDCOPY_OVERLENGTH > srcSize) { /* risk reading beyond src buffer with wildcopy */
523 if (litSize + lhSize > srcSize)
554 if (srcSize < 4)
555 return ERROR(corruption_detected); /* srcSize >= MIN_CBLOCK_SIZE == 3; here we need lhSize+1 = 4 */
753 size_t srcSize, const FSE_decode_t4 *defaultTable, U32 flagRepeatTable, void *workspace, size_t workspaceSize)
758 if (!srcSize)
781 size_t const headerSize = FSE_readNCount(norm, &max, &tableLog, src, srcSize);
794 size_t ZSTD_decodeSeqHeaders(ZSTD_DCtx *dctx, int *nbSeqPtr, const void *src, size_t srcSize)
797 const BYTE *const iend = istart + srcSize;
801 if (srcSize < MIN_SEQUENCES_SIZE)
1445 static size_t ZSTD_decompressBlock_internal(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, const void *src, size_t srcSize)
1449 if (srcSize >= ZSTD_BLOCKSIZE_ABSOLUTEMAX)
1454 size_t const litCSize = ZSTD_decodeLiteralsBlock(dctx, src, srcSize);
1458 srcSize -= litCSize;
1465 return ZSTD_decompressSequencesLong(dctx, dst, dstCapacity, ip, srcSize);
1466 return ZSTD_decompressSequences(dctx, dst, dstCapacity, ip, srcSize);
1479 size_t ZSTD_decompressBlock(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, const void *src, size_t srcSize)
1483 dSize = ZSTD_decompressBlock_internal(dctx, dst, dstCapacity, src, srcSize);
1508 * `srcSize` must be at least as large as the frame contained
1510 size_t ZSTD_findFrameCompressedSize(const void *src, size_t srcSize)
1512 if (srcSize >= ZSTD_skippableHeaderSize && (ZSTD_readLE32(src) & 0xFFFFFFF0U) == ZSTD_MAGIC_SKIPPABLE_START) {
1517 size_t remainingSize = srcSize;
1643 static size_t ZSTD_decompressMultiFrame(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, const void *src, size_t srcSize, const void *dict, size_t dictSize,
1658 while (srcSize >= ZSTD_frameHeaderSize_prefix) {
1665 if (srcSize < ZSTD_skippableHeaderSize)
1668 if (srcSize < skippableSize) {
1673 srcSize -= skippableSize;
1691 const size_t res = ZSTD_decompressFrame(dctx, dst, dstCapacity, &src, &srcSize);
1701 if (srcSize)
1707 size_t ZSTD_decompress_usingDict(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, const void *src, size_t srcSize, const void *dict, size_t dictSize)
1709 return ZSTD_decompressMultiFrame(dctx, dst, dstCapacity, src, srcSize, dict, dictSize, NULL);
1712 size_t ZSTD_decompressDCtx(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, const void *src, size_t srcSize)
1714 return ZSTD_decompress_usingDict(dctx, dst, dstCapacity, src, srcSize, NULL, 0);
1743 size_t ZSTD_decompressContinue(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, const void *src, size_t srcSize)
1746 if (srcSize != dctx->expected)
1753 if (srcSize != ZSTD_frameHeaderSize_prefix)
1811 case bt_compressed: rSize = ZSTD_decompressBlock_internal(dctx, dst, dstCapacity, src, srcSize); break;
1812 case bt_raw: rSize = ZSTD_copyRawBlock(dst, dstCapacity, src, srcSize); break;
1813 case bt_rle: rSize = ZSTD_setRleBlock(dst, dstCapacity, src, srcSize, dctx->rleSize); break;
1839 U32 const check32 = ZSTD_readLE32(src); /* srcSize == 4, guaranteed by dctx->expected */
2132 * - `srcSize` is too small, and as a result, the frame header could not be decoded (only possible if `srcSize < ZSTD_FRAMEHEADERSIZE_MAX`).
2135 unsigned ZSTD_getDictID_fromFrame(const void *src, size_t srcSize)
2138 size_t const hError = ZSTD_getFrameParams(&zfp, src, srcSize);
2147 size_t ZSTD_decompress_usingDDict(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, const void *src, size_t srcSize, const ZSTD_DDict *ddict)
2150 return ZSTD_decompressMultiFrame(dctx, dst, dstCapacity, src, srcSize, NULL, 0, ddict);
2291 ZSTD_STATIC size_t ZSTD_limitCopy(void *dst, size_t dstCapacity, const void *src, size_t srcSize)
2293 size_t const length = MIN(dstCapacity, srcSize);