From 7833b81678fcfd82fb2617593a371de5bcdb0938 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Mon, 15 Oct 2007 11:55:34 +0000 Subject: [PATCH] Corrected 4-byte buffer overflow (which did no detectable harm) --- libburn/trunk/cdrskin/cdrskin.c | 6 +++++- libburn/trunk/cdrskin/cdrskin_timestamp.h | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libburn/trunk/cdrskin/cdrskin.c b/libburn/trunk/cdrskin/cdrskin.c index 67e92ee0..d93de93f 100644 --- a/libburn/trunk/cdrskin/cdrskin.c +++ b/libburn/trunk/cdrskin/cdrskin.c @@ -2192,8 +2192,11 @@ int Cdrpreskin_set_result_fd(struct CdrpreskiN *o, int result_fd, int flag) int Cdrpreskin_read_rc(struct CdrpreskiN *o, char *progname, int flag) { int ret,i; - char *filenames_v[3]; + char **filenames_v; + filenames_v= TSOB_FELD(char *, o->rc_filename_count+1); + if(filenames_v==NULL) + return(-1); for(i=0;irc_filename_count;i++) filenames_v[i]= o->rc_filenames[i]; Sfile_home_adr_s(".cdrskinrc",o->rc_filenames[o->rc_filename_count-1], @@ -2201,6 +2204,7 @@ int Cdrpreskin_read_rc(struct CdrpreskiN *o, char *progname, int flag) ret= Sfile_multi_read_argv(progname,filenames_v,o->rc_filename_count, &(o->pre_argc),&(o->pre_argv), &(o->pre_argidx),&(o->pre_arglno),4); + free((char *) filenames_v); return(ret); } diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index b32b963a..c5af2d94 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2007.10.07.110506" +#define Cdrskin_timestamP "2007.10.15.115448"