It turns out I managed to fix a very annoying Valgrind error by setting INIT_HTAB=1 in lzfP.h:91. It seems that the author of the LZF library wanted to squeeze a little more performance out of the compression speed, but he did so at the cost of reading un-initialized memory. By setting this flag, the htab variable is set to zero before being used. Otherwise you'd get tons of "Conditional jump or move depends on uninitialised value(s)".
Another side benefit is that now the compressed results are identical between runs. Before it was the case that h5diff would report differences, but they were only due to differences in the compressed output, not in the original source data.
This is a one-line change in lzfP.h.. Should I just create a pull request for this?