1919#include "tmpfile-util.h"
2020
2121int LLVMFuzzerTestOneInput (const uint8_t * data , size_t size ) {
22- int fdin ;
23- void * mem ;
24- _cleanup_close_ int fdout = -1 ;
22+ _cleanup_close_ int fdin_close = -1 , fdout = -1 ;
2523 _cleanup_ (rm_rf_physical_and_freep ) char * tmp = NULL ;
2624 _cleanup_ (unlink_and_freep ) char * name = NULL ;
2725 _cleanup_ (sd_journal_closep ) sd_journal * j = NULL ;
2826 _cleanup_ (journal_remote_server_destroy ) RemoteServer s = {};
29- int r ;
27+ void * mem ;
28+ int fdin , r ;
3029
3130 if (outside_size_range (size , 3 , 65536 ))
3231 return 0 ;
@@ -37,7 +36,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
3736 assert_se (mkdtemp_malloc ("/tmp/fuzz-journal-remote-XXXXXX" , & tmp ) >= 0 );
3837 assert_se (name = path_join (tmp , "fuzz-journal-remote.XXXXXX.journal" ));
3938
40- fdin = memfd_new_and_map ("fuzz-journal-remote" , size , & mem );
39+ fdin = fdin_close = memfd_new_and_map ("fuzz-journal-remote" , size , & mem );
4140 if (fdin < 0 )
4241 return log_error_errno (fdin , "memfd_new_and_map() failed: %m" );
4342
@@ -57,10 +56,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
5756 }
5857
5958 r = journal_remote_add_source (& s , fdin , (char * ) "fuzz-data" , false);
60- if (r < 0 ) {
61- safe_close (fdin );
59+ if (r < 0 )
6260 return r ;
63- }
61+ TAKE_FD ( fdin_close );
6462 assert (r > 0 );
6563
6664 while (s .active )
0 commit comments