Only test for successful buffer allocation if a buffer needs to be allocated

No buffer is allocated when using fractions of original reads (instead of a targeted number of reads), so the alloc always fails when using fractions.   

Not sure if you'll want check before free at the bottom... I don't think it is needed, just for clarity/future.
Merge pull request #30 from bwlang/master

Only test for successful buffer allocation if a buffer needs to be allocated
tabtk: output %95 CI
Merge branch 'master' of github.com:lh3/seqtk