From ddad0a8c23560ba39b786144d8b74be8b8ffd64f Mon Sep 17 00:00:00 2001 From: james Date: Fri, 18 Jul 2008 00:55:59 +0000 Subject: [PATCH] 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 --- init.c | 13 +++++++++++++ misc.c | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) 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; -- 2.47.2