--- a/bchunk.c 2017-10-30 18:03:58.658741629 +0000 +++ b/bchunk.c 2017-10-30 19:40:25.558131619 +0000 @@ -18,6 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#define _GNU_SOURCE #include #include #include @@ -271,11 +272,10 @@ int16_t i; float fl; - if (!(fname = malloc(strlen(bname) + 8))) { - fprintf(stderr, "main(): malloc() failed, out of memory\n"); + if (asprintf(&fname, "%s%2.2d.%s", bname, track->num, track->extension) == -1) { + fprintf(stderr, "writetrack(): asprintf() failed, out of memory\n"); exit(4); } - sprintf(fname, "%s%2.2d.%s", bname, track->num, track->extension); printf("%2d: %s ", track->num, fname);