mirror of
https://github.com/openharmony/third_party_libexif.git
synced 2026-07-19 13:14:29 -04:00
!158 merge fixbugCVE0421 into master
fix cve bugs
Created-by: lifuminharmony
Commit-by: trafficPC167
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)
### 二、建议测试周期和提测地址
建议测试完成时间:xxxx.xx.xx
投产上线时间:xxxx.xx.xx
提测地址:CI环境/压测环境
测试账号:
### 三、变更内容
* 3.1 关联PR列表
* 3.2 数据库和部署说明
1. 常规更新
2. 重启unicorn
3. 重启sidekiq
4. 迁移任务:是否有迁移任务,没有写 "无"
5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"
* 3.4 其他技术优化内容(做了什么,变更了什么)
- 重构了 xxxx 代码
- xxxx 算法优化
* 3.5 废弃通知(什么字段、方法弃用?)
* 3.6 后向不兼容变更(是否有无法向后兼容的变更?)
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
自测测试结论:
### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
检查点:
| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx | 否 | 需要 | 不需要 |
| | | | |
接口测试:
性能测试:
并发测试:
其他:
See merge request: openharmony/third_party_libexif!158
This commit is contained in:
@@ -43,6 +43,9 @@ mnote_apple_entry_get_value(MnoteAppleEntry *entry, char *v, unsigned int maxlen
|
||||
|
||||
if (!entry)
|
||||
return NULL;
|
||||
if (maxlen < 1) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
memset(v, 0, maxlen);
|
||||
maxlen--;
|
||||
|
||||
@@ -561,6 +561,9 @@ mnote_canon_entry_get_value (const MnoteCanonEntry *entry, unsigned int t, char
|
||||
|
||||
if (!entry)
|
||||
return NULL;
|
||||
if (maxlen < 1) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
data = entry->data;
|
||||
size = entry->size;
|
||||
|
||||
@@ -70,7 +70,9 @@ exif_mnote_data_fuji_get_value (ExifMnoteData *d, unsigned int i, char *val, uns
|
||||
ExifMnoteDataFuji *n = (ExifMnoteDataFuji *) d;
|
||||
|
||||
if (!d || !val) return NULL;
|
||||
if (i > n->count -1) return NULL;
|
||||
if (i >= n->count) {
|
||||
return NULL;
|
||||
}
|
||||
/*
|
||||
exif_log (d->log, EXIF_LOG_CODE_DEBUG, "ExifMnoteDataFuji",
|
||||
"Querying value for tag '%s'...",
|
||||
|
||||
@@ -201,6 +201,9 @@ mnote_fuji_entry_get_value (MnoteFujiEntry *entry,
|
||||
int i, j;
|
||||
|
||||
if (!entry) return (NULL);
|
||||
if (maxlen < 1) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
memset (val, 0, maxlen);
|
||||
maxlen--;
|
||||
|
||||
@@ -78,7 +78,9 @@ exif_mnote_data_olympus_get_value (ExifMnoteData *d, unsigned int i, char *val,
|
||||
ExifMnoteDataOlympus *n = (ExifMnoteDataOlympus *) d;
|
||||
|
||||
if (!d || !val) return NULL;
|
||||
if (i > n->count -1) return NULL;
|
||||
if (i >= n->count) {
|
||||
return NULL;
|
||||
}
|
||||
/*
|
||||
exif_log (d->log, EXIF_LOG_CODE_DEBUG, "ExifMnoteDataOlympus",
|
||||
"Querying value for tag '%s'...",
|
||||
@@ -386,6 +388,9 @@ exif_mnote_data_olympus_load (ExifMnoteData *en,
|
||||
o2 += 2;
|
||||
|
||||
/* Go to where the number of entries is. */
|
||||
if (CHECKOVERFLOW(o2,buf_size,exif_get_long (buf + o2, n->order))) {
|
||||
return;
|
||||
}
|
||||
o2 = datao + exif_get_long (buf + o2, n->order);
|
||||
break;
|
||||
|
||||
|
||||
@@ -286,6 +286,9 @@ mnote_olympus_entry_get_value (MnoteOlympusEntry *entry, char *v, unsigned int m
|
||||
|
||||
if (!entry)
|
||||
return (NULL);
|
||||
if (maxlen < 1) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
memset (v, 0, maxlen);
|
||||
maxlen--;
|
||||
|
||||
@@ -317,6 +317,9 @@ mnote_pentax_entry_get_value (MnotePentaxEntry *entry,
|
||||
int i = 0, j = 0;
|
||||
|
||||
if (!entry) return (NULL);
|
||||
if (maxlen < 1) {
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
memset (val, 0, maxlen);
|
||||
maxlen--;
|
||||
|
||||
Reference in New Issue
Block a user