It certainly looks that way. free(zCopy) is called twice, outside of any conditionals.