--- rzip-2.0/main.c.orig 2005-09-15 18:47:02.000000000 +0200 +++ rzip-2.0/main.c 2005-09-15 19:04:45.000000000 +0200 @@ -125,7 +125,7 @@ */ static void decompress_file(struct rzip_control *control) { - int fd_in, fd_out = -1, fd_hist = -1; + int fd_in, fd_out = -1, fd_hist = -1, len; off_t expected_size; if (control->outname) { @@ -138,9 +138,10 @@ fatal("%s: unknown suffix\n", control->infile); } - control->outfile = strndup(control->infile, - strlen(control->infile) - - strlen(control->suffix)); + len = strlen(control->infile) - strlen(control->suffix); + control->outfile = malloc(len + 1); + control->outfile[len] = '\0'; + strncpy(control->outfile, control->infile, len); } fd_in = open(control->infile,O_RDONLY);