{"id":"RUSTSEC-2023-0081","aliases":[],"status":"published","title":"safemem is unmaintained","description":"The latest crates.io release was in 2019. The repository has been archived by the author.\n\n## Migration\n\n- `safemem::copy_over(slice, src_idx, dest_idx, len);` can be replaced with `slice.copy_within(src_idx..src_idx+len, dest_idx);` as of `rust 1.37.0`.\n- `safemem::write_bytes(slice, byte);` can be replaced with `slice.fill(byte);` as of `rust 1.50.0`\n- `safemem::prepend(slice, vec);` can be replaced with\n\n  ```rust\n  let old_len = vec.len();\n  vec.extend_from_slice(slice);\n  vec.rotate_left(old_len);\n  ```\n  \n  as of `rust 1.26.0`","facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"published":"2023-02-14T12:00:00Z","modified":"2024-03-04T18:47:07Z","affected":[{"source":"osv","ecosystem":"crates.io","package":"safemem","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"}]}]}],"references":[{"url":"https://crates.io/crates/safemem","tags":["package"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2023-0081.html","tags":["advisory"]},{"url":"https://github.com/abonander/safemem","tags":["web"]}],"sources":{"osv":[{"id":"RUSTSEC-2023-0081","title":"safemem is unmaintained","description":"The latest crates.io release was in 2019. The repository has been archived by the author.\n\n## Migration\n\n- `safemem::copy_over(slice, src_idx, dest_idx, len);` can be replaced with `slice.copy_within(src_idx..src_idx+len, dest_idx);` as of `rust 1.37.0`.\n- `safemem::write_bytes(slice, byte);` can be replaced with `slice.fill(byte);` as of `rust 1.50.0`\n- `safemem::prepend(slice, vec);` can be replaced with\n\n  ```rust\n  let old_len = vec.len();\n  vec.extend_from_slice(slice);\n  vec.rotate_left(old_len);\n  ```\n  \n  as of `rust 1.26.0`","status":"published","published":"2023-02-14T12:00:00Z","modified":"2024-03-04T18:47:07Z","updated_at":"2026-11-02T15:53:39.971022Z"}]}}
