diff options
author | Denys Vlasenko | 2023-04-10 14:46:09 +0200 |
---|---|---|
committer | Denys Vlasenko | 2023-04-10 14:47:38 +0200 |
commit | 611729eff386234b09d40780cdcc21fe72f6f8b8 (patch) | |
tree | a1adc317873335bce1b01f9b8bd9cb9abad82fcc | |
parent | 9bc2b6e88474a8ebb50c94f29320d343bd374928 (diff) | |
download | busybox-611729eff386234b09d40780cdcc21fe72f6f8b8.zip busybox-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.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/util-linux/mkfs_vfat.c b/util-linux/mkfs_vfat.c index 8213719..d2db78e 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); |