diff -Naur libcdio-0.78.2-orig/work/libcdio-0.78.2/src/cd-info.c libcdio-0.78.2/work/libcdio-0.78.2/src/cd-info.c --- libcdio-0.78.2-orig/work/libcdio-0.78.2/src/cd-info.c 2006-03-17 14:37:08.000000000 -0500 +++ libcdio-0.78.2/work/libcdio-0.78.2/src/cd-info.c 2007-12-30 10:49:40.000000000 -0500 @@ -539,7 +539,7 @@ iso9660_stat_t *p_statbuf = _cdio_list_node_data (entnode); char *psz_iso_name = p_statbuf->filename; char _fullname[4096] = { 0, }; - char translated_name[MAX_ISONAME+1]; + char *translated_name = (char *) alloca(strlen(psz_iso_name)+1); if (yep != p_statbuf->rr.b3_rock || 1 == opts.no_rock_ridge) { iso9660_name_translate_ext(psz_iso_name, translated_name, diff -Naur libcdio-0.78.2-orig/work/libcdio-0.78.2/src/iso-info.c libcdio-0.78.2/work/libcdio-0.78.2/src/iso-info.c --- libcdio-0.78.2-orig/work/libcdio-0.78.2/src/iso-info.c 2006-03-17 14:37:08.000000000 -0500 +++ libcdio-0.78.2/work/libcdio-0.78.2/src/iso-info.c 2007-12-30 10:49:50.000000000 -0500 @@ -224,7 +224,8 @@ iso9660_stat_t *p_statbuf = _cdio_list_node_data (entnode); char *psz_iso_name = p_statbuf->filename; char _fullname[4096] = { 0, }; - char translated_name[MAX_ISONAME+1]; + char *translated_name = (char *) alloca(strlen(psz_iso_name)+1); + if (yep != p_statbuf->rr.b3_rock || 1 == opts.no_rock_ridge) { iso9660_name_translate_ext(psz_iso_name, translated_name,