summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <meissner@suse.de>2020-02-14 12:45:23 +0100
committerMarcus Meissner <meissner@suse.de>2020-02-14 12:45:49 +0100
commit739b75da570faf031856d0a0765cf06ed8b09a86 (patch)
tree7caa2083d3a273170326b0c100f8ed4fe8ee769c
parent2a7b01728174f12acfe3417155deb2536109dba8 (diff)
downloadlibgphoto2-739b75da570faf031856d0a0765cf06ed8b09a86.tar.gz
initialize memory to NULL, check if read (AFL)
-rw-r--r--camlibs/gsmart300/gsmart300.c4
-rw-r--r--camlibs/gsmart300/library.c1
2 files changed, 3 insertions, 2 deletions
diff --git a/camlibs/gsmart300/gsmart300.c b/camlibs/gsmart300/gsmart300.c
index 590262605..5c90dcaf1 100644
--- a/camlibs/gsmart300/gsmart300.c
+++ b/camlibs/gsmart300/gsmart300.c
@@ -380,11 +380,11 @@ gsmart300_get_FATs (CameraPrivateLibrary * lib)
if (lib->fats)
free (lib->fats);
- lib->fats = malloc ((lib->num_files) * FLASH_PAGE_SIZE_300);
+ lib->fats = calloc (lib->num_files,FLASH_PAGE_SIZE_300);
if (lib->files)
free (lib->files);
- lib->files = malloc (lib->num_files * sizeof (struct GsmartFile));
+ lib->files = calloc (lib->num_files,sizeof (struct GsmartFile));
p = lib->fats;
diff --git a/camlibs/gsmart300/library.c b/camlibs/gsmart300/library.c
index 552e01bca..926372bf3 100644
--- a/camlibs/gsmart300/library.c
+++ b/camlibs/gsmart300/library.c
@@ -247,6 +247,7 @@ file_list_func (CameraFilesystem *fs, const char *folder,
CHECK (gsmart300_get_info (camera->pl));
for (i = 0; i < camera->pl->num_files; i++) {
+ if (!camera->pl->files[i].name) continue; /* had a bad directory entry */
strncpy (temp_file, camera->pl->files[i].name, 12);
temp_file[12] = 0;
gp_list_append (list, temp_file, NULL);