Bladeren bron

Merge remote-tracking branch 'origin/pr/111'

* origin/pr/111:
  Use integers instead of chars to store -1 values
Bryan Drewery 9 jaren geleden
bovenliggende
commit
15910f4df9
1 gewijzigde bestanden met toevoegingen van 4 en 4 verwijderingen
  1. 4 4
      src/crypto/bf_util.cc

+ 4 - 4
src/crypto/bf_util.cc

@@ -11,7 +11,7 @@
 BF_KEY bf_e_key, bf_d_key;
 
 static const char eggdrop_blowfish_base64[65] = "./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
-static const char eggdrop_blowfish_base64_index[256] = {
+static const int eggdrop_blowfish_base64_index[256] = {
   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  1,
@@ -107,7 +107,7 @@ bd::String egg_bf_decrypt(bd::String in, const bd::String& key)
 
   BF_set_key(&bf_d_key, key.length(), (unsigned char *)key.data());
   bf_data data;
-  char val;
+  int val;
   size_t part;
   char *s = (char *)in.data();
   for (size_t i = 0; i < in.length(); i += 12) {
@@ -115,11 +115,11 @@ bd::String egg_bf_decrypt(bd::String in, const bd::String& key)
     data.lr.right = 0;
     for (part = 0; part < 6; part++) {
       if ((val = eggdrop_blowfish_base64_index[int(*s++)]) == -1) return out;
-      data.lr.right |= val << part * 6;
+      data.lr.right |= (char)val << part * 6;
     }
     for (part = 0; part < 6; part++) {
       if ((val = eggdrop_blowfish_base64_index[int(*s++)]) == -1) return out;
-      data.lr.left |= val << part * 6;
+      data.lr.left |= (char)val << part * 6;
     }
     BF_decrypt(&data.bf_long, &bf_d_key);
     for (part = 0; part < 4; part++) {