Interrupting (Ctrl-C) jpegtran causes data loss when -outfile points to input file

25. toukokuuta 2017 klo 17.21
Sijainti: Vianhallintajärjestelmät: Launchpad
Avainsanat: turvallisuus

For optimizing files in-place with jpegtran, especially from scripts and when dealing with lots of pictures, it’s handy to be able to specify input file as -outfile.

But there’s a catch:

Steps to reproduce:
0. Have a large JPEG file, or, alternatively, somewhat slow CPU
1. `jpegtran -optimize -copy all -perfect -outfile large.jpg large.jpg`
2. Hit Ctrl-C before the command finishes

Result:
You now have a broken large.jpg with only part, if any, of the image data remaining.

What I expect to happen:
To have large.jpg as it was before I invoked jpegtran.

Workarounds:
Obviously the traditional workaround of specifying an intermediate temporary output file, then replacing the original with the temporary file only once jpegtran has finished.

Vastaa viestiin sen kontekstissa (Launchpad)