message: Do not leak version strings
diff: @@ -7,6 +7,7 @@ pub mod arglang;
  use std::{env, fs, path::PathBuf, str::FromStr};
  use anyhow::{self, bail, Context};
  +use lazy_static::lazy_static;
  use rand::SeedableRng;
  use rand_chacha::ChaCha20Rng;
  use regex::Regex;
  @@ -22,19 +23,17 @@ use casper_node::{
  };
  use prometheus::Registry;
  -/// Outputs a suitable version string.
  -fn get_version() -> &'static str {
  - let s = Box::new(format!(
  +lazy_static! {
  + static ref VERSION_STRING: String = format!(
  "{}-{}",
  env!("VERGEN_SEMVER_LIGHTWEIGHT"),
  env!("VERGEN_SHA_SHORT")
  - ));
  - Box::leak(s).as_str()
  + );
  }
  // Note: The docstring on `Cli` is the help shown when calling the binary with `--help`.
  #[derive(Debug, StructOpt)]
  -#[structopt(version = get_version())]
  +#[structopt(version = VERSION_STRING.as_str())]
  /// Casper blockchain node.
  pub enum Cli {
  /// Run the validator node.
  