@@ -445,7 +445,7 @@ int make_bsdiff_delta(char *old_filename, char *new_filename, char *delta_filena
445
445
memset (& small_header , 0 , sizeof (struct header_v21 ));
446
446
memcpy (& small_header .magic , BSDIFF_HDR_FULLDL , 8 );
447
447
448
- efd = open (delta_filename , O_CREAT | O_EXCL | O_WRONLY , 00644 );
448
+ efd = open (delta_filename_unique , O_CREAT | O_EXCL | O_WRONLY , 00644 );
449
449
if (efd < 0 ) {
450
450
close (fd );
451
451
return -1 ;
@@ -462,6 +462,7 @@ int make_bsdiff_delta(char *old_filename, char *new_filename, char *delta_filena
462
462
}
463
463
fclose (pf );
464
464
close (fd );
465
+ rename (delta_filename_unique , delta_filename );
465
466
return 1 ;
466
467
}
467
468
@@ -527,7 +528,7 @@ int make_bsdiff_delta(char *old_filename, char *new_filename, char *delta_filena
527
528
memset (& small_header , 0 , sizeof (struct header_v21 ));
528
529
memcpy (& small_header .magic , BSDIFF_HDR_FULLDL , 8 );
529
530
530
- efd = open (delta_filename , O_CREAT | O_EXCL | O_WRONLY , 00644 );
531
+ efd = open (delta_filename_unique , O_CREAT | O_EXCL | O_WRONLY , 00644 );
531
532
if (efd < 0 ) {
532
533
close (fd );
533
534
munmap (old_data , old_size );
@@ -553,6 +554,7 @@ int make_bsdiff_delta(char *old_filename, char *new_filename, char *delta_filena
553
554
close (fd );
554
555
munmap (old_data , old_size );
555
556
free (I );
557
+ rename (delta_filename_unique , delta_filename );
556
558
return 1 ;
557
559
}
558
560
0 commit comments