7#include "core/fxcodec/jpx/jpx_decode_utils.h"
13#include "core/fxcrt/compiler_specific.h"
14#include "core/fxcrt/fx_memcpy_wrappers.h"
15#include "core/fxcrt/numerics/safe_conversions.h"
28 return static_cast<OPJ_SIZE_T>(-1);
32 return static_cast<OPJ_SIZE_T>(-1);
36 OPJ_SIZE_T readlength = nb_bytes < bufferLength ? nb_bytes : bufferLength;
46 return static_cast<OPJ_OFF_T>(-1);
53 return static_cast<OPJ_OFF_T>(-1);
55 auto unsigned_nb_bytes =
56 static_cast<std::make_unsigned<OPJ_OFF_T>::type>(nb_bytes);
59 if (unsigned_nb_bytes >
60 std::numeric_limits<OPJ_SIZE_T>::max() - srcData
->offset) {
63 OPJ_SIZE_T checked_nb_bytes =
static_cast<OPJ_SIZE_T>(unsigned_nb_bytes);
85 auto unsigned_nb_bytes =
86 static_cast<std::make_unsigned<OPJ_OFF_T>::type>(nb_bytes);
89 if (unsigned_nb_bytes >
std::numeric_limits<OPJ_SIZE_T>::max()) {
92 OPJ_SIZE_T checked_nb_bytes =
static_cast<OPJ_SIZE_T>(nb_bytes);
UNSAFE_BUFFER_USAGE void * FXSYS_memcpy(void *ptr1, const void *ptr2, size_t len)
OPJ_BOOL opj_seek_from_memory(OPJ_OFF_T nb_bytes, void *p_user_data)
OPJ_SIZE_T opj_read_from_memory(void *p_buffer, OPJ_SIZE_T nb_bytes, void *p_user_data)
OPJ_OFF_T opj_skip_from_memory(OPJ_OFF_T nb_bytes, void *p_user_data)
DecodeData(pdfium::span< const uint8_t > data)