From: james Date: Fri, 18 Jul 2008 00:55:59 +0000 (+0000) Subject: gen_path will no longer silently truncate the generated X-Git-Tag: v2.1_rc9~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ddad0a8c23560ba39b786144d8b74be8b8ffd64f;p=thirdparty%2Fopenvpn.git gen_path will no longer silently truncate the generated filename at 256 bytes. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@3076 e7ae566f-a301-0410-adde-c780ea21d3b5 --- diff --git a/init.c b/init.c index 05d8cd771..218fae191 100644 --- a/init.c +++ b/init.c @@ -439,6 +439,19 @@ init_static (void) return false; #endif +#if 0 + { + struct gc_arena gc = gc_new (); + const char *fn = gen_path ("foo", + "bar", + &gc); + printf ("%s\n", fn); + gc_free (&gc); + } + + return false; +#endif + return true; } diff --git a/misc.c b/misc.c index 97e804967..901e8cb35 100644 --- a/misc.c +++ b/misc.c @@ -1129,7 +1129,8 @@ gen_path (const char *directory, const char *filename, struct gc_arena *gc) #endif ) { - struct buffer out = alloc_buf_gc (256, gc); + const size_t outsize = strlen(safe_filename) + (directory ? strlen (directory) : 0) + 16; + struct buffer out = alloc_buf_gc (outsize, gc); char dirsep[2]; dirsep[0] = OS_SPECIFIC_DIRSEP;