I get errors with filenames (full paths) if they are longer than 100 chars.
Files get tar-ed ok, I can untar them also, but the error is signaled.
I tried with nonalfanumeric chars, but this is not the case. I get the error
also with only alfanumeric chars filename.

This problem happens for me any time there are paths longer
than 100 bytes.
The problem is that the new fixtarname() is passed a string longer
than the indicated length. The safe_strcpy in the 3.0.0 fixtarname()
at clitar.c line 428 gives an error because strlen(fp) is bigger than
length l. (In 2.2.x it used the length l rather than the strlen() of
the string so it was fine.)
The attached patch is one way to fix the problem. Also, the explicit
\0 termination of hb.dbuf.name[] is moved above the optional lowercase
since the string might not be null terminated at that point.