make_seekable was dereferencing a null pointer

pmeunier
Aug 5, 2021, 2:15 PM
2T5FQPPAY43APQPUMLXCUIT2VOCMDNYZ26OHSGNEZR3KWWXJXXXQC

Dependencies

Change contents

  • replacement in src/lib.rs at line 487
    [3.464][3.464:543]()
    let mut seekable = Self::make_seekable(source, ptr::null_mut(), size);
    [3.464]
    [3.3587]
    let mut seekable = Self::make_seekable(source, size)?;
  • replacement in src/lib.rs at line 493
    [3.642][3.1055:1146](),[3.3650][3.1055:1146](),[3.277][3.8948:8967](),[3.1146][3.8948:8967](),[3.8948][3.8948:8967]()
    fn make_seekable(source: R, dstream: *mut ZSTD_DStream, size: Option<usize>) -> Self {
    Seekable {
    [3.642]
    [3.8967]
    fn make_seekable(source: R, size: Option<usize>) -> Result<Self, Error> {
    let dstream = unsafe { ZSTD_createDStream() };
    if dstream.is_null() {
    return Err(Error::Null);
    }
    Ok(Seekable {
  • replacement in src/lib.rs at line 511
    [2.235][3.251995:252005](),[3.9506][3.251995:252005](),[3.251995][3.251995:252005]()
    }
    [2.235]
    [3.252005]
    })
  • edit in src/lib.rs at line 778
    [3.17537][3.17537:17660](),[3.17660][3.255545:255555](),[3.255545][3.255545:255555](),[3.255555][3.17661:17662]()
    let dstream = unsafe { ZSTD_createDStream() };
    if dstream.is_null() {
    return Err(Error::Null);
    }
  • replacement in src/lib.rs at line 780
    [3.645][3.3506:3587]()
    let mut seekable = Seekable::make_seekable(source, dstream, Some(size));
    [3.645]
    [3.17785]
    let mut seekable = Seekable::make_seekable(source, Some(size))?;
  • replacement in src/lib.rs at line 790
    [3.846][3.3588:3671]()
    let mut seekable = Seekable::make_seekable(source, ptr::null_mut(), None);
    [3.846]
    [3.18635]
    let mut seekable = Seekable::make_seekable(source, None)?;