lazy_static = "1.4"
libc = "0.2.107"
log = "0.4.17"
-nix = "0.24.1"
+nix = "0.26.1"
once_cell = "1.3.1"
openssl = "0.10"
percent-encoding = "2.1"
librust-lazy-static-1+default-dev (>= 1.4-~~) <!nocheck>,
librust-libc-0.2+default-dev (>= 0.2.107-~~) <!nocheck>,
librust-log-0.4+default-dev (>= 0.4.17-~~) <!nocheck>,
- librust-nix-0.24+default-dev (>= 0.24.1-~~) <!nocheck>,
+ librust-nix-0.26+default-dev (>= 0.26.1-~~) <!nocheck>,
librust-once-cell-1+default-dev (>= 1.3.1-~~) <!nocheck>,
librust-percent-encoding-2+default-dev (>= 2.1-~~) <!nocheck>,
librust-proxmox-async-0.4+default-dev (>= 0.4.1-~~) <!nocheck>,
librust-lazy-static-1+default-dev (>= 1.4-~~),
librust-libc-0.2+default-dev (>= 0.2.107-~~),
librust-log-0.4+default-dev (>= 0.4.17-~~),
- librust-nix-0.24+default-dev (>= 0.24.1-~~),
+ librust-nix-0.26+default-dev (>= 0.26.1-~~),
librust-once-cell-1+default-dev (>= 1.3.1-~~),
librust-percent-encoding-2+default-dev (>= 2.1-~~),
librust-proxmox-async-0.4+default-dev (>= 0.4.1-~~),
librust-hyper-0.14+default-dev (>= 0.14.5-~~) <!nocheck>,
librust-hyper-0.14+full-dev (>= 0.14.5-~~) <!nocheck>,
librust-libc-0.2+default-dev (>= 0.2.107-~~) <!nocheck>,
- librust-nix-0.24+default-dev (>= 0.24.1-~~) <!nocheck>,
+ librust-nix-0.26+default-dev (>= 0.26.1-~~) <!nocheck>,
librust-percent-encoding-2+default-dev (>= 2.1-~~) <!nocheck>,
librust-proxmox-async-0.4+default-dev (>= 0.4.1-~~) <!nocheck>,
librust-proxmox-lang-1+default-dev (>= 1.1-~~) <!nocheck>,
Depends:
${misc:Depends},
librust-anyhow-1+default-dev,
- librust-nix-0.24+default-dev (>= 0.24.1-~~),
+ librust-nix-0.26+default-dev (>= 0.26.1-~~),
librust-percent-encoding-2+default-dev (>= 2.1-~~),
librust-proxmox-async-0.4+default-dev (>= 0.4.1-~~),
librust-proxmox-lang-1+default-dev (>= 1.1-~~),
${misc:Depends},
librust-proxmox-schema-dev (= ${binary:Version}),
librust-libc-0.2+default-dev (>= 0.2.107-~~),
- librust-nix-0.24+default-dev (>= 0.24.1-~~)
+ librust-nix-0.26+default-dev (>= 0.26.1-~~)
Provides:
librust-proxmox-schema-1+upid-api-impl-dev (= ${binary:Version}),
librust-proxmox-schema-1.3+upid-api-impl-dev (= ${binary:Version}),
libstd-rust-dev <!nocheck>,
librust-anyhow-1+default-dev <!nocheck>,
librust-libc-0.2+default-dev (>= 0.2.107-~~) <!nocheck>,
- librust-nix-0.24+default-dev (>= 0.24.1-~~) <!nocheck>,
+ librust-nix-0.26+default-dev (>= 0.26.1-~~) <!nocheck>,
librust-proxmox-sys-0.4+default-dev (>= 0.4.1-~~) <!nocheck>
Maintainer: Proxmox Support Team <support@proxmox.com>
Standards-Version: 4.6.1
${misc:Depends},
librust-anyhow-1+default-dev,
librust-libc-0.2+default-dev (>= 0.2.107-~~),
- librust-nix-0.24+default-dev (>= 0.24.1-~~),
+ librust-nix-0.26+default-dev (>= 0.26.1-~~),
librust-proxmox-sys-0.4+default-dev (>= 0.4.1-~~)
Provides:
librust-proxmox-shared-memory+default-dev (= ${binary:Version}),
librust-lazy-static-1+default-dev (>= 1.4-~~) <!nocheck>,
librust-libc-0.2+default-dev (>= 0.2.107-~~) <!nocheck>,
librust-log-0.4+default-dev (>= 0.4.17-~~) <!nocheck>,
- librust-nix-0.24+default-dev (>= 0.24.1-~~) <!nocheck>,
+ librust-nix-0.26+default-dev (>= 0.26.1-~~) <!nocheck>,
librust-proxmox-io-1+default-dev <!nocheck>,
librust-proxmox-lang-1+default-dev (>= 1.1-~~) <!nocheck>,
librust-proxmox-time-1+default-dev (>= 1.1.4-~~) <!nocheck>,
librust-lazy-static-1+default-dev (>= 1.4-~~),
librust-libc-0.2+default-dev (>= 0.2.107-~~),
librust-log-0.4+default-dev (>= 0.4.17-~~),
- librust-nix-0.24+default-dev (>= 0.24.1-~~),
+ librust-nix-0.26+default-dev (>= 0.26.1-~~),
librust-proxmox-io-1+default-dev,
librust-proxmox-lang-1+default-dev (>= 1.1-~~),
librust-proxmox-time-1+default-dev (>= 1.1.4-~~),
use std::convert::TryFrom;
use std::mem::MaybeUninit;
+use std::num::NonZeroUsize;
use std::os::unix::io::RawFd;
-use std::{io, mem, ptr};
+use std::{io, mem};
+use anyhow::format_err;
use nix::sys::mman;
use proxmox_lang::error::io_err_other;
prot: mman::ProtFlags,
flags: mman::MapFlags,
) -> io::Result<Self> {
- let byte_len = count * mem::size_of::<T>();
+ let byte_len = NonZeroUsize::new(count * mem::size_of::<T>())
+ .ok_or(io_err_other(format_err!("mapped length must not be zero")))?;
+
// libc::size_t vs usize
#[allow(clippy::useless_conversion)]
let data = mman::mmap(
- ptr::null_mut(),
- libc::size_t::try_from(byte_len).map_err(io_err_other)?,
+ None,
+ byte_len,
prot,
flags,
fd,