archive_read_open_fd was also using for reading and saving archives. Original patch did not address these, this one does.
Reco
--- archivemount-0.8.7.orig/archivemount.c +++ archivemount-0.8.7/archivemount.c @@ -450,7 +450,7 @@ build_tree( const char *mtpt ) return archive_errno( archive ); } } - if( archive_read_open_fd( archive, archiveFd, 10240 ) != ARCHIVE_OK ) { + if( archive_read_open_filename( archive, archiveFile, 10240) != ARCHIVE_OK ) { fprintf( stderr, "%s\n", archive_error_string( archive ) ); return archive_errno( archive ); } @@ -909,7 +909,7 @@ save( const char *archiveFile ) log( "%s", archive_error_string( oldarc ) ); return archive_errno( oldarc ); } - if( archive_read_open_fd( oldarc, archiveFd, 10240 ) != ARCHIVE_OK ) { + if( archive_read_open_filename( oldarc, archiveFile, 10240 ) != ARCHIVE_OK ) { log( "%s", archive_error_string( oldarc ) ); return archive_errno( oldarc ); } @@ -1311,7 +1311,7 @@ _ar_read( const char *path, char *buf, s return -EIO; } } - archive_ret = archive_read_open_fd( archive, archiveFd, 10240 ); + archive_ret = archive_read_open_filename( archive, archiveFile, 10240); if( archive_ret != ARCHIVE_OK ) { log( "archive_read_open_fd(): %s (%d)\n", archive_error_string( archive ), archive_ret );