summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2019-06-02 16:33:28 +0200
committerMarcus Meissner <marcus@jet.franken.de>2019-06-02 16:33:28 +0200
commit236cd97b617972c38ac8e6780590b3049c0afa2f (patch)
tree6875f3ac942d186d1937a13c0155fab2d721de44
parentcf2f13b2288a5a2b016a801f213c239f48e2b83b (diff)
downloadlibgphoto2-236cd97b617972c38ac8e6780590b3049c0afa2f.tar.gz
do not overflow the maximum entries in the global array (AFL)
-rw-r--r--camlibs/jamcam/library.c8
1 files changed, 8 insertions, 0 deletions
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;