diff options
Diffstat (limited to 'g10/encode.c')
-rw-r--r-- | g10/encode.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/g10/encode.c b/g10/encode.c index 0d8a84c94..371a23731 100644 --- a/g10/encode.c +++ b/g10/encode.c @@ -140,10 +140,11 @@ encode_simple( const char *filename, int mode ) /* setup the inner packet */ if( filename || opt.set_filename ) { - const char *s = opt.set_filename ? opt.set_filename : filename; + char *s = make_basename( opt.set_filename ? opt.set_filename : filename ); pt = m_alloc( sizeof *pt + strlen(s) - 1 ); pt->namelen = strlen(s); memcpy(pt->name, s, pt->namelen ); + m_free(s); } else { /* no filename */ pt = m_alloc( sizeof *pt - 1 ); @@ -253,10 +254,11 @@ encode_crypt( const char *filename, STRLIST remusr ) /* setup the inner packet */ if( filename || opt.set_filename ) { - const char *s = opt.set_filename ? opt.set_filename : filename; + char *s = make_basename( opt.set_filename ? opt.set_filename : filename ); pt = m_alloc( sizeof *pt + strlen(s) - 1 ); pt->namelen = strlen(s); memcpy(pt->name, s, pt->namelen ); + m_free(s); } else { /* no filename */ pt = m_alloc( sizeof *pt - 1 ); |