فهرست منبع

* Use String::dup where appropriate

Bryan Drewery 16 سال پیش
والد
کامیت
5fb5b4422d
3فایلهای تغییر یافته به همراه12 افزوده شده و 15 حذف شده
  1. 4 4
      src/EncryptedStream.c
  2. 6 9
      src/misc.c
  3. 2 2
      src/mod/server.mod/servmsg.c

+ 4 - 4
src/EncryptedStream.c

@@ -65,9 +65,9 @@ int EncryptedStream::loadFile (const int fd) {
 
 void EncryptedStream::apply_filters(bd::String& buf, const bd::String& IV) const {
   if (enc_flags & ENC_AES_256_CBC) {
-    unsigned char* iv = (unsigned char*) strdup(IV.c_str());
+    unsigned char* iv = (unsigned char*) IV.dup();
     buf = encrypt_string_cbc(key, buf, iv);
-    free(iv);
+    delete[] iv;
   } else if (enc_flags & ENC_AES_256_ECB)
     buf = encrypt_string(key, buf);
 
@@ -84,9 +84,9 @@ void EncryptedStream::unapply_filters(bd::String& buf, const bd::String& IV) con
     buf = bd::base64Decode(buf);
 
   if (enc_flags & ENC_AES_256_CBC) {
-    unsigned char* iv = (unsigned char*) strdup(IV.c_str());
+    unsigned char* iv = (unsigned char*) IV.dup();
     buf = decrypt_string_cbc(key, buf, iv);
-    free(iv);
+    delete[] iv;
   }
   else if (enc_flags & ENC_AES_256_ECB)
     buf = decrypt_string(key, buf);

+ 6 - 9
src/misc.c

@@ -652,11 +652,11 @@ readsocks(const char *fname)
     else if (type == STR("+buildts"))
       old_buildts = strtol(str.c_str(), NULL, 10);
     else if (type == STR("+botname"))
-      nick = strdup(str.c_str());
+      nick = str.dup();
     else if (type == STR("+ip4"))
-      ip4 = strdup(str.c_str());
+      ip4 = str.dup();
     else if (type == STR("+ip6"))
-      ip6 = strdup(str.c_str());
+      ip6 = str.dup();
     else if (type == STR("+serv_cache")) {
       if (!cached_005 && str.find(STR("005")))
         cached_005 = 1;
@@ -695,16 +695,13 @@ readsocks(const char *fname)
       reset_chans = 1;
     }
   }
-  if (nick)
-    free(nick);
+  delete[] nick;
+  delete[] ip4;
+  delete[] ip6;
   if (jnick)
     free(jnick);
   if (socksfile)
     free(socksfile);
-  if (ip4)
-    free(ip4);
-  if (ip6)
-    free(ip6);
 }
 
 

+ 2 - 2
src/mod/server.mod/servmsg.c

@@ -1824,7 +1824,7 @@ static void server_dns_callback(int id, void *client_data, const char *host, bd:
       goto fatal_dns;
     }
   }
-  ip = strdup(ip_from_dns.c_str());
+  ip = ip_from_dns.dup();
 
   get_addr(ip, &addr);
  
@@ -1871,7 +1871,7 @@ static void server_dns_callback(int id, void *client_data, const char *host, bd:
     /* Wait for async result now */
   }
 
-  free(ip);
+  delete[] ip;
   return;
 
 fatal_dns: