Since we have little info about the phone or the data it contains it seems difficult to speculate about the cause of that buffer overflow error. Is the error on the source (the phone) or on your pc?
One workaround may be to simply copy the desired data from the phone to a subdirectory on your pc then zip the content of that subdirectory. You may even need to copy (or zip) smaller subsets of the full data content as individual units.
As far as the comment about excluding some data while zipping other parts I suggest you read up on how ‘find’ and the zip utility in use select what is being included or excluded. It is somewhat flexible but one needs to be familiar with its features as well.