diff options
| author | 2023-05-23 22:33:58 +0000 | |
|---|---|---|
| committer | 2023-05-23 22:33:58 +0000 | |
| commit | 0748ac53910373f21e97bf58de9d88dcb39cd514 (patch) | |
| tree | b8d8d2868b13b09ffc092a3ea03658f8d2b55564 /libs/ultrahdr/jpegr.cpp | |
| parent | 74a75503afbab23e1221af91c0b4b6cec0cbd429 (diff) | |
| parent | b037505a7f789a57decac7828337324866961dcf (diff) | |
Merge "ultrahdr: Add argument check for decoder api" into udc-dev
Diffstat (limited to 'libs/ultrahdr/jpegr.cpp')
| -rw-r--r-- | libs/ultrahdr/jpegr.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/libs/ultrahdr/jpegr.cpp b/libs/ultrahdr/jpegr.cpp index 78fa2af4b8..5ebca399a9 100644 --- a/libs/ultrahdr/jpegr.cpp +++ b/libs/ultrahdr/jpegr.cpp @@ -476,12 +476,34 @@ status_t JpegR::decodeJPEGR(jr_compressed_ptr compressed_jpegr_image, ultrahdr_output_format output_format, jr_uncompressed_ptr gain_map, ultrahdr_metadata_ptr metadata) { - if (compressed_jpegr_image == nullptr || dest == nullptr) { + if (compressed_jpegr_image == nullptr || compressed_jpegr_image->data == nullptr) { + ALOGE("received nullptr for compressed jpegr image"); + return ERROR_JPEGR_INVALID_NULL_PTR; + } + + if (dest == nullptr || dest->data == nullptr) { + ALOGE("received nullptr for dest image"); return ERROR_JPEGR_INVALID_NULL_PTR; } if (max_display_boost < 1.0f) { - return ERROR_JPEGR_INVALID_INPUT_TYPE; + ALOGE("received bad value for max_display_boost %f", max_display_boost); + return ERROR_JPEGR_INVALID_INPUT_TYPE; + } + + if (exif != nullptr && exif->data == nullptr) { + ALOGE("received nullptr address for exif data"); + return ERROR_JPEGR_INVALID_INPUT_TYPE; + } + + if (output_format <= ULTRAHDR_OUTPUT_UNSPECIFIED || output_format > ULTRAHDR_OUTPUT_MAX) { + ALOGE("received bad value for output format %d", output_format); + return ERROR_JPEGR_INVALID_INPUT_TYPE; + } + + if (gain_map != nullptr && gain_map->data == nullptr) { + ALOGE("received nullptr address for gain map data"); + return ERROR_JPEGR_INVALID_INPUT_TYPE; } if (output_format == ULTRAHDR_OUTPUT_SDR) { |