From 236cd97b617972c38ac8e6780590b3049c0afa2f Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sun, 2 Jun 2019 16:33:28 +0200 Subject: do not overflow the maximum entries in the global array (AFL) --- camlibs/jamcam/library.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/camlibs/jamcam/library.c b/camlibs/jamcam/library.c index f0bdef31a..258121ada 100644 --- a/camlibs/jamcam/library.c +++ b/camlibs/jamcam/library.c @@ -140,6 +140,8 @@ static int jamcam_mmc_card_file_count (Camera *camera) { jamcam_files[jamcam_count].height = height; jamcam_files[jamcam_count].data_incr = data_incr; + if (jamcam_count+1 >= sizeof(jamcam_files)/sizeof(jamcam_files[0])) + break; jamcam_count++; position += data_incr; @@ -185,6 +187,8 @@ static int jamcam_mmc_card_file_count (Camera *camera) { jamcam_files[jamcam_count].width = width; jamcam_files[jamcam_count].height = height; jamcam_files[jamcam_count].data_incr = data_incr; + if (jamcam_count+1 >= sizeof(jamcam_files)/sizeof(jamcam_files[0])) + break; jamcam_count++; position += data_incr; @@ -255,6 +259,8 @@ int jamcam_file_count (Camera *camera) { jamcam_files[jamcam_count].width = width; jamcam_files[jamcam_count].height = height; jamcam_files[jamcam_count].data_incr = data_incr; + if (jamcam_count+1 >= sizeof(jamcam_files)/sizeof(jamcam_files[0])) + break; jamcam_count++; @@ -291,6 +297,8 @@ int jamcam_file_count (Camera *camera) { jamcam_files[jamcam_count].width = width; jamcam_files[jamcam_count].height = height; jamcam_files[jamcam_count].data_incr = data_incr; + if (jamcam_count+1 >= sizeof(jamcam_files)/sizeof(jamcam_files[0])) + break; jamcam_count++; position += data_incr; -- cgit v1.2.1