Splitting the command into two like this: jhead -mkexif Narsaaq.jpg jhead -ts1992:09:05-13:00:00 -ft Narsaaq.jpg seems to work (does not crash), but valgrind still reports memory error(s): $ valgrind --leak-check=full --show-reachable=yes jhead -mkexif Narsaaq.jpg ==23119== Memcheck, a memory error detector. ==23119== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al. ==23119== Using LibVEX rev 1884, a library for dynamic binary translation. ==23119== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP. ==23119== Using valgrind-3.4.1-Debian, a dynamic binary instrumentation framework. ==23119== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al. ==23119== For more details, rerun with: -v ==23119== ==23119== Invalid read of size 1 ==23119== at 0x408955: (within /usr/bin/jhead) ==23119== by 0x40890A: (within /usr/bin/jhead) ==23119== by 0x408BE2: (within /usr/bin/jhead) ==23119== by 0x405E22: (within /usr/bin/jhead) ==23119== by 0x405F0A: (within /usr/bin/jhead) ==23119== by 0x4020A2: (within /usr/bin/jhead) ==23119== by 0x403F25: (within /usr/bin/jhead) ==23119== by 0x50CF5A5: (below main) (in /lib/libc-2.9.so) ==23119== Address 0x54233f8 is 0 bytes after a block of size 160 alloc'd ==23119== at 0x4C278AE: malloc (vg_replace_malloc.c:207) ==23119== by 0x405B0B: (within /usr/bin/jhead) ==23119== by 0x405F0A: (within /usr/bin/jhead) ==23119== by 0x4020A2: (within /usr/bin/jhead) ==23119== by 0x403F25: (within /usr/bin/jhead) ==23119== by 0x50CF5A5: (below main) (in /lib/libc-2.9.so) ==23119== ==23119== Invalid read of size 1 ==23119== at 0x40896C: (within /usr/bin/jhead) ==23119== by 0x40890A: (within /usr/bin/jhead) ==23119== by 0x408BE2: (within /usr/bin/jhead) ==23119== by 0x405E22: (within /usr/bin/jhead) ==23119== by 0x405F0A: (within /usr/bin/jhead) ==23119== by 0x4020A2: (within /usr/bin/jhead) ==23119== by 0x403F25: (within /usr/bin/jhead) ==23119== by 0x50CF5A5: (below main) (in /lib/libc-2.9.so) ==23119== Address 0x54233f9 is 1 bytes after a block of size 160 alloc'd ==23119== at 0x4C278AE: malloc (vg_replace_malloc.c:207) ==23119== by 0x405B0B: (within /usr/bin/jhead) ==23119== by 0x405F0A: (within /usr/bin/jhead) ==23119== by 0x4020A2: (within /usr/bin/jhead) ==23119== by 0x403F25: (within /usr/bin/jhead) ==23119== by 0x50CF5A5: (below main) (in /lib/libc-2.9.so) Modified: Narsaaq.jpg ==23119== ==23119== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 8 from 1) ==23119== malloc/free: in use at exit: 240 bytes in 1 blocks. ==23119== malloc/free: 21 allocs, 20 frees, 68,789 bytes allocated. ==23119== For counts of detected errors, rerun with: -v ==23119== searching for pointers to 1 not-freed blocks. ==23119== checked 81,504 bytes. ==23119== ==23119== ==23119== 240 bytes in 1 blocks are still reachable in loss record 1 of 1 ==23119== at 0x4C279E1: realloc (vg_replace_malloc.c:429) ==23119== by 0x405BD3: (within /usr/bin/jhead) ==23119== by 0x405F0A: (within /usr/bin/jhead) ==23119== by 0x4020A2: (within /usr/bin/jhead) ==23119== by 0x403F25: (within /usr/bin/jhead) ==23119== by 0x50CF5A5: (below main) (in /lib/libc-2.9.so) ==23119== ==23119== LEAK SUMMARY: ==23119== definitely lost: 0 bytes in 0 blocks. ==23119== possibly lost: 0 bytes in 0 blocks. ==23119== still reachable: 240 bytes in 1 blocks. ==23119== suppressed: 0 bytes in 0 blocks.