Buggy code:
public class TarArchiveEntry implements ArchiveEntry , TarConstants { private String name ; private int mode ; private int userId ; private int groupId ; private long size ; private long modTime ; private byte linkFlag ; private String linkName ; private String magic ; private String version ; private String userName ; private String groupName ; private int devMajor ; private int devMinor ; private boolean isExtended ; private long realSize ; private File file ; public static final int MAX_NAMELEN = 31 ; public static final int DEFAULT_DIR_MODE = 16877 ; public static final int DEFAULT_FILE_MODE = 33188 ; public static final int MILLIS_PER_SECOND = 1000 ; private TarArchiveEntry ( ) { } public TarArchiveEntry ( String name ) { } public TarArchiveEntry ( String name , boolean preserveLeadingSlashes ) { } public TarArchiveEntry ( String name , byte linkFlag ) { } public TarArchiveEntry ( File file ) { } public TarArchiveEntry ( File file , String fileName ) { } public TarArchiveEntry ( byte [ ] headerBuf ) { } public TarArchiveEntry ( byte [ ] headerBuf , ZipEncoding encoding ) throws IOException { } public boolean equals ( TarArchiveEntry it ) { } @ Override public boolean equals ( Object it ) { } @ Override public int hashCode ( ) { } public boolean isDescendent ( TarArchiveEntry desc ) { } public String getName ( ) { } public void setName ( String name ) { } public void setMode ( int mode ) { } public String getLinkName ( ) { } public void setLinkName ( String link ) { } public int getUserId ( ) { } public void setUserId ( int userId ) { } public int getGroupId ( ) { } public void setGroupId ( int groupId ) { } public String getUserName ( ) { } public void setUserName ( String userName ) { } public String getGroupName ( ) { } public void setGroupName ( String groupName ) { } public void setIds ( int userId , int groupId ) { } public void setNames ( String userName , String groupName ) { } public void setModTime ( long time ) { } public void setModTime ( Date time ) { } public Date getModTime ( ) { } public Date getLastModifiedDate ( ) { } public File getFile ( ) { } public int getMode ( ) { } public long getSize ( ) { } public void setSize ( long size ) { } public int getDevMajor ( ) { } public void setDevMajor ( int devNo ) { } public int getDevMinor ( ) { } public void setDevMinor ( int devNo ) { } public boolean isExtended ( ) { } public long getRealSize ( ) { } public boolean isGNUSparse ( ) { } public boolean isGNULongNameEntry ( ) { <START_BUG> return ( ( linkFlag ) == ( LF_GNUTYPE_LONGNAME ) ) && ( name . toString ( ) . equals ( GNU_LONGLINK ) ) ; <END_BUG> } public boolean isPaxHeader ( ) { } public boolean isGlobalPaxHeader ( ) { } public boolean isDirectory ( ) { } public boolean isFile ( ) { } public boolean isSymbolicLink ( ) { } public boolean isLink ( ) { } public boolean isCharacterDevice ( ) { } public boolean isBlockDevice ( ) { } public boolean isFIFO ( ) { } public TarArchiveEntry [ ] getDirectoryEntries ( ) { } public void writeEntryHeader ( byte [ ] outbuf ) { } public void writeEntryHeader ( byte [ ] outbuf , ZipEncoding encoding , boolean starMode ) throws IOException { } private int writeEntryHeaderField ( long value , byte [ ] outbuf , int offset , int length , boolean starMode ) { } public void parseTarHeader ( byte [ ] header ) { } public void parseTarHeader ( byte [ ] header , ZipEncoding encoding ) throws IOException { } private void parseTarHeader ( byte [ ] header , ZipEncoding encoding , final boolean oldStyle ) throws IOException { } private static String normalizeFileName ( String fileName , boolean preserveLeadingSlashes ) { } private int evaluateType ( byte [ ] header ) { } }

Fix:
return ( ( linkFlag ) == ( LF_GNUTYPE_LONGNAME ) ) && ( name . equals ( GNU_LONGLINK ) ) ;