]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
librpc/ndr: Remove unused ndr_cab_generate_checksum()
authorAndrew Bartlett <abartlet@samba.org>
Wed, 20 Nov 2019 22:28:36 +0000 (11:28 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 29 Nov 2019 00:44:40 +0000 (00:44 +0000)
This function is not just unused, it is a problem because there is no
enforced connection between r->ab.length and r->cbData.

The last caller was removed in the previous commit.

Found by Douglas Bagnall using Hongfuzz and the new fuzz_ndr_X
fuzzer.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
librpc/ndr/ndr_cab.c
librpc/ndr/ndr_cab.h

index c415bfab34ce9bef4a995640c9f6a68586567e43..476e21cd41708e69c64f8fa80ac33f76d9ce02c6 100644 (file)
@@ -111,17 +111,6 @@ static uint32_t ndr_cab_compute_checksum(uint8_t *data, uint32_t length, uint32_
        return checksum;
 }
 
-uint32_t ndr_cab_generate_checksum(const struct CFDATA *r)
-{
-       uint32_t csumPartial;
-
-       csumPartial = ndr_cab_compute_checksum(&r->ab.data[0], r->cbData, 0);
-
-       return ndr_cab_compute_checksum((uint8_t *)discard_const(&r->cbData),
-                                       sizeof(r->cbData) + sizeof(r->cbUncomp),
-                                       csumPartial);
-}
-
 /* Push all CFDATA of a folder.
  *
  * This works on a folder level because compression type is set per
index 59dbc9914421ec168dd7b40f049d8f3a225ce703..39b6bc9b4835dbb507f47c09d0644fd3172e6d2b 100644 (file)
@@ -20,4 +20,3 @@
 */
 
 uint32_t ndr_count_cfdata(const struct cab_file *r);
-uint32_t ndr_cab_generate_checksum(const struct CFDATA *r);