aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/misc.c5
-rw-r--r--g10/photoid.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/g10/misc.c b/g10/misc.c
index c7107be06..a606d5364 100644
--- a/g10/misc.c
+++ b/g10/misc.c
@@ -922,6 +922,11 @@ pct_expando (ctrl_t ctrl, const char *string,struct expando_args *args)
u32 pk_keyid[2]={0,0},sk_keyid[2]={0,0};
char *ret=NULL;
+ /* The parser below would return NULL for an empty string, thus we
+ * catch it here. Also catch NULL here. */
+ if (!string || !*string)
+ return xstrdup ("");
+
if(args->pk)
keyid_from_pk(args->pk,pk_keyid);
diff --git a/g10/photoid.c b/g10/photoid.c
index 8a4436b8b..592d5e484 100644
--- a/g10/photoid.c
+++ b/g10/photoid.c
@@ -670,6 +670,11 @@ show_photos (ctrl_t ctrl, const struct user_attribute *attrs, int count,
command = pct_expando (ctrl, opt.photo_viewer,&args);
if(!command)
goto fail;
+ if (!*command)
+ {
+ xfree (command);
+ goto fail;
+ }
name = xmalloc (1 + 16 + strlen(EXTSEP_S)
+ strlen (image_type_to_string (args.imagetype, 0)));