I've backported the fix for this in newer versions of prozilla to 1.3.7.4
(prozilla is not maintained by my, so I don't want to move to a newer version).
When backporting I noticed that the fix was not correct, it strncpy's up to
out_size bytes and then does out[out_size] = 0;
Say out_size is 512 then the code does out[512] = 0; iow it writes a 0 to the
513th place of the array. This is a typical of by one error, and a
bufferoverflow (if only for one char).
I'v also checked the other uses of strncpy in ftpsearch.c , the one other piece
of code using strncpy passes the resulting string to strlen before making sure
its 0 terminated (bad).
Last I've cleaned up the code by using sizeof(buf)/sizeof(char) instead of just
sizeof(buf) as sizeof(char) is not always 1.
I've send the fixes to the fix upstream and I'll attach a patch against 1.3.7.4
fixing all this.