Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/io')
-rw-r--r--source/blender/io/alembic/intern/abc_reader_nurbs.cc2
-rw-r--r--source/blender/io/avi/intern/avi_mjpeg.c37
-rw-r--r--source/blender/io/usd/intern/abstract_hierarchy_iterator.cc2
-rw-r--r--source/blender/io/usd/intern/usd_capi.cc2
-rw-r--r--source/blender/io/usd/intern/usd_writer_mesh.cc4
-rw-r--r--source/blender/io/usd/intern/usd_writer_transform.cc2
6 files changed, 36 insertions, 13 deletions
diff --git a/source/blender/io/alembic/intern/abc_reader_nurbs.cc b/source/blender/io/alembic/intern/abc_reader_nurbs.cc
index 10d9a35a8e1..5b9954b3ff6 100644
--- a/source/blender/io/alembic/intern/abc_reader_nurbs.cc
+++ b/source/blender/io/alembic/intern/abc_reader_nurbs.cc
@@ -71,7 +71,7 @@ bool AbcNurbsReader::valid() const
static bool set_knots(const FloatArraySamplePtr &knots, float *&nu_knots)
{
- if (!knots || knots->size() == 0) {
+ if (!knots || knots->size() < 2) {
return false;
}
diff --git a/source/blender/io/avi/intern/avi_mjpeg.c b/source/blender/io/avi/intern/avi_mjpeg.c
index ac622d8b0e4..70ddca28060 100644
--- a/source/blender/io/avi/intern/avi_mjpeg.c
+++ b/source/blender/io/avi/intern/avi_mjpeg.c
@@ -30,6 +30,7 @@
#include "MEM_guardedalloc.h"
+#include "BLI_math_base.h"
#include "IMB_imbuf.h"
#include "jerror.h"
@@ -45,14 +46,16 @@ static size_t numbytes;
static void add_huff_table(j_decompress_ptr dinfo,
JHUFF_TBL **htblptr,
const UINT8 *bits,
- const UINT8 *val)
+ const size_t bits_size,
+ const UINT8 *val,
+ const size_t val_size)
{
if (*htblptr == NULL) {
*htblptr = jpeg_alloc_huff_table((j_common_ptr)dinfo);
}
- memcpy((*htblptr)->bits, bits, sizeof((*htblptr)->bits));
- memcpy((*htblptr)->huffval, val, sizeof((*htblptr)->huffval));
+ memcpy((*htblptr)->bits, bits, min_zz(sizeof((*htblptr)->bits), bits_size));
+ memcpy((*htblptr)->huffval, val, min_zz(sizeof((*htblptr)->huffval), val_size));
/* Initialize sent_table false so table will be written to JPEG file. */
(*htblptr)->sent_table = false;
@@ -200,10 +203,30 @@ static void std_huff_tables(j_decompress_ptr dinfo)
0xe8, 0xe9, 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa,
};
- add_huff_table(dinfo, &dinfo->dc_huff_tbl_ptrs[0], bits_dc_luminance, val_dc_luminance);
- add_huff_table(dinfo, &dinfo->ac_huff_tbl_ptrs[0], bits_ac_luminance, val_ac_luminance);
- add_huff_table(dinfo, &dinfo->dc_huff_tbl_ptrs[1], bits_dc_chrominance, val_dc_chrominance);
- add_huff_table(dinfo, &dinfo->ac_huff_tbl_ptrs[1], bits_ac_chrominance, val_ac_chrominance);
+ add_huff_table(dinfo,
+ &dinfo->dc_huff_tbl_ptrs[0],
+ bits_dc_luminance,
+ sizeof(bits_dc_luminance),
+ val_dc_luminance,
+ sizeof(val_dc_luminance));
+ add_huff_table(dinfo,
+ &dinfo->ac_huff_tbl_ptrs[0],
+ bits_ac_luminance,
+ sizeof(bits_ac_luminance),
+ val_ac_luminance,
+ sizeof(val_ac_luminance));
+ add_huff_table(dinfo,
+ &dinfo->dc_huff_tbl_ptrs[1],
+ bits_dc_chrominance,
+ sizeof(bits_dc_chrominance),
+ val_dc_chrominance,
+ sizeof(val_dc_chrominance));
+ add_huff_table(dinfo,
+ &dinfo->ac_huff_tbl_ptrs[1],
+ bits_ac_chrominance,
+ sizeof(bits_ac_chrominance),
+ val_ac_chrominance,
+ sizeof(val_ac_chrominance));
}
static int Decode_JPEG(unsigned char *inBuffer,
diff --git a/source/blender/io/usd/intern/abstract_hierarchy_iterator.cc b/source/blender/io/usd/intern/abstract_hierarchy_iterator.cc
index e382fa6bb1d..ab83ea2c3c4 100644
--- a/source/blender/io/usd/intern/abstract_hierarchy_iterator.cc
+++ b/source/blender/io/usd/intern/abstract_hierarchy_iterator.cc
@@ -53,7 +53,7 @@ bool HierarchyContext::operator<(const HierarchyContext &other) const
if (object != other.object) {
return object < other.object;
}
- if (duplicator != NULL && duplicator == other.duplicator) {
+ if (duplicator != nullptr && duplicator == other.duplicator) {
// Only resort to string comparisons when both objects are created by the same duplicator.
return export_name < other.export_name;
}
diff --git a/source/blender/io/usd/intern/usd_capi.cc b/source/blender/io/usd/intern/usd_capi.cc
index f8e0a03abfa..890e2fd205f 100644
--- a/source/blender/io/usd/intern/usd_capi.cc
+++ b/source/blender/io/usd/intern/usd_capi.cc
@@ -185,7 +185,7 @@ bool USD_export(bContext *C,
/* setup job */
WM_jobs_customdata_set(wm_job, job, MEM_freeN);
WM_jobs_timer(wm_job, 0.1, NC_SCENE | ND_FRAME, NC_SCENE | ND_FRAME);
- WM_jobs_callbacks(wm_job, USD::export_startjob, NULL, NULL, USD::export_endjob);
+ WM_jobs_callbacks(wm_job, USD::export_startjob, nullptr, nullptr, USD::export_endjob);
WM_jobs_start(CTX_wm_manager(C), wm_job);
}
diff --git a/source/blender/io/usd/intern/usd_writer_mesh.cc b/source/blender/io/usd/intern/usd_writer_mesh.cc
index 909869d2af1..841501bcf42 100644
--- a/source/blender/io/usd/intern/usd_writer_mesh.cc
+++ b/source/blender/io/usd/intern/usd_writer_mesh.cc
@@ -79,7 +79,7 @@ void USDGenericMeshWriter::do_write(HierarchyContext &context)
bool needsfree = false;
Mesh *mesh = get_export_mesh(object_eval, needsfree);
- if (mesh == NULL) {
+ if (mesh == nullptr) {
return;
}
@@ -100,7 +100,7 @@ void USDGenericMeshWriter::do_write(HierarchyContext &context)
void USDGenericMeshWriter::free_export_mesh(Mesh *mesh)
{
- BKE_id_free(NULL, mesh);
+ BKE_id_free(nullptr, mesh);
}
struct USDMeshData {
diff --git a/source/blender/io/usd/intern/usd_writer_transform.cc b/source/blender/io/usd/intern/usd_writer_transform.cc
index 038f2b17b1a..0694d873002 100644
--- a/source/blender/io/usd/intern/usd_writer_transform.cc
+++ b/source/blender/io/usd/intern/usd_writer_transform.cc
@@ -50,7 +50,7 @@ void USDTransformWriter::do_write(HierarchyContext &context)
bool USDTransformWriter::check_is_animated(const HierarchyContext &context) const
{
- if (context.duplicator != NULL) {
+ if (context.duplicator != nullptr) {
/* This object is being duplicated, so could be emitted by a particle system and thus
* influenced by forces. TODO(Sybren): Make this more strict. Probably better to get from the
* depsgraph whether this object instance has a time source. */