diff options
-rw-r--r-- | camlibs/gsmart300/gsmart300.c | 4 | ||||
-rw-r--r-- | camlibs/gsmart300/library.c | 1 |
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); |