summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--camlibs/spca50x/library.c5
-rw-r--r--camlibs/spca50x/spca50x-sdram.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/camlibs/spca50x/library.c b/camlibs/spca50x/library.c
index 37487cb8c..93de246b7 100644
--- a/camlibs/spca50x/library.c
+++ b/camlibs/spca50x/library.c
@@ -330,7 +330,10 @@ file_list_func (CameraFilesystem *fs, const char *folder,
CHECK (spca50x_sdram_get_info (camera->pl));
for (i = 0; i < camera->pl->num_files_on_sdram; i++) {
- strncpy (temp_file, camera->pl->files[i].name, 12);
+ if (camera->pl->files[i].name)
+ strncpy (temp_file, camera->pl->files[i].name, 12);
+ else
+ strcpy (temp_file, "BAD.BAD");
temp_file[12] = 0;
gp_list_append (list, temp_file, NULL);
}
diff --git a/camlibs/spca50x/spca50x-sdram.c b/camlibs/spca50x/spca50x-sdram.c
index f11cc8a32..7a2900008 100644
--- a/camlibs/spca50x/spca50x-sdram.c
+++ b/camlibs/spca50x/spca50x-sdram.c
@@ -226,6 +226,7 @@ spca50x_get_image (CameraPrivateLibrary * lib, uint8_t ** buf,
int omit_escape = 0;
p = g_file->fat;
+ if (!p) return GP_ERROR;
/* get the position in memory where the image is */
start = (p[1] & 0xff) + (p[2] & 0xff) * 0x100;