You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avcodec/cbs_jpeg: Try to move the read entity to one side in a test
The checked entity should be alone on one side of the check, this avoids
complex considerations of overflows.
This fixes a issue of bad style in our code and a coverity issue.
Fixes: CID1439654 Untrusted pointer read
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 385784a148)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
			
			
This commit is contained in:
		| @@ -145,13 +145,13 @@ static int cbs_jpeg_split_fragment(CodedBitstreamContext *ctx, | ||||
|             } | ||||
|         } else { | ||||
|             i = start; | ||||
|             if (i + 2 > frag->data_size) { | ||||
|             if (i > frag->data_size - 2) { | ||||
|                 av_log(ctx->log_ctx, AV_LOG_ERROR, "Invalid JPEG image: " | ||||
|                        "truncated at %02x marker.\n", marker); | ||||
|                 return AVERROR_INVALIDDATA; | ||||
|             } | ||||
|             length = AV_RB16(frag->data + i); | ||||
|             if (i + length > frag->data_size) { | ||||
|             if (length > frag->data_size - i) { | ||||
|                 av_log(ctx->log_ctx, AV_LOG_ERROR, "Invalid JPEG image: " | ||||
|                        "truncated at %02x marker segment.\n", marker); | ||||
|                 return AVERROR_INVALIDDATA; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user