]> source.dussan.org Git - tigervnc.git/commitdiff
Don't check pointers for zero length buffers
authorPierre Ossman <ossman@cendio.se>
Mon, 20 May 2024 08:44:41 +0000 (10:44 +0200)
committerPierre Ossman <ossman@cendio.se>
Mon, 20 May 2024 08:44:41 +0000 (10:44 +0200)
It's perfectly fine to give a NULL pointer if the length has explicitly
been specified as zero.

common/rfb/obfuscate.cxx
common/rfb/util.cxx

index 1f785893de7b7c79faf7c099a3e66a3bdaf29914..d40e25c3ea15ac2f29787f2d56b6106311982b5d 100644 (file)
@@ -56,11 +56,11 @@ std::string rfb::deobfuscate(const uint8_t *data, size_t len)
 {
   char buf[9];
 
-  assert(data != NULL);
-
   if (len != 8)
     throw rdr::Exception("bad obfuscated password length");
 
+  assert(data != NULL);
+
   deskey(d3desObfuscationKey, DE1);
   des((uint8_t*)data, (uint8_t*)buf);
   buf[8] = 0;
index d1a8cc332b61034ba3b0a5f82de35b0e3eb677e0..48f59846ddb3ee4477df43aaac5b570b53ee891b 100644 (file)
@@ -126,8 +126,8 @@ namespace rfb {
 
   bool hexToBin(const char* in, size_t inlen,
                 uint8_t* out, size_t outlen) {
-    assert(in);
-    assert(out);
+    assert(in || inlen == 0);
+    assert(out || outlen == 0);
 
     if (inlen & 1)
       return false;