# HG changeset patch # User nicodvb # Date 1199124486 0 # Node ID 727b18c5824b66b67e4ab4aa1023bf127c85687d # Parent d0a19ce1aa3d1b74bcd4542686a5c80e070ca5bf malloc() a buffer large enough before calling getcwd() - part of ogle-1778 diff -r d0a19ce1aa3d -r 727b18c5824b dvdread/dvd_reader.c --- a/dvdread/dvd_reader.c Mon Dec 31 17:56:30 2007 +0000 +++ b/dvdread/dvd_reader.c Mon Dec 31 18:08:06 2007 +0000 @@ -418,13 +418,16 @@ if( cdir >= 0 ) { chdir( path_copy ); - new_path = getcwd( NULL, PATH_MAX ); + new_path = malloc(PATH_MAX+1); + if(!new_path) { + free(path); + return NULL; + } + getcwd(new_path, PATH_MAX ); fchdir( cdir ); close( cdir ); - if( new_path ) { free( path_copy ); path_copy = new_path; - } } } #endif