summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2023-04-10 14:46:09 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2023-04-10 14:47:38 +0200
commit611729eff386234b09d40780cdcc21fe72f6f8b8 (patch)
treea1adc317873335bce1b01f9b8bd9cb9abad82fcc
parent9bc2b6e88474a8ebb50c94f29320d343bd374928 (diff)
downloadbusybox-611729eff386234b09d40780cdcc21fe72f6f8b8.tar.gz
mkfs_vfat: do not generate same volume_id when run in rapid succession
function old new delta mkfs_vfat_main 1502 1523 +21 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--util-linux/mkfs_vfat.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/util-linux/mkfs_vfat.c b/util-linux/mkfs_vfat.c
index 821371953..d2db78e1d 100644
--- a/util-linux/mkfs_vfat.c
+++ b/util-linux/mkfs_vfat.c
@@ -267,8 +267,9 @@ int mkfs_vfat_main(int argc UNUSED_PARAM, char **argv)
// cache device name
device_name = argv[0];
- // default volume ID = creation time
- volume_id = time(NULL);
+ // default volume ID: somewhat random (not crypto-strong)
+ // (mix in pid to avoid same IDs when run in rapid succession)
+ volume_id = time(NULL) ^ getpid();
// truncate to exactly 11 chars, pad with spaces
sprintf(volume_label11, "%-11.11s", arg_volume_label);