]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
datasets: fix return values for 'add's
authorVictor Julien <victor@inliniac.net>
Tue, 14 Apr 2020 19:49:33 +0000 (21:49 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 17 Apr 2020 11:21:37 +0000 (13:21 +0200)
src/datasets.c

index 42f393878e0e6f1d574819cb5a9ebd7030e6ef4d..b2681f02968d9127d0996e0884373af649d7ed68 100644 (file)
@@ -903,7 +903,7 @@ static int DatasetAddMd5(Dataset *set, const uint8_t *data, const uint32_t data_
         return -1;
 
     if (data_len != 16)
-        return -1;
+        return -2;
 
     Md5Type lookup = { .rep.value = 0 };
     memcpy(lookup.md5, data, 16);
@@ -922,7 +922,7 @@ static int DatasetAddMd5wRep(Dataset *set, const uint8_t *data, const uint32_t d
         return -1;
 
     if (data_len != 16)
-        return -1;
+        return -2;
 
     Md5Type lookup = { .rep = *rep };
     memcpy(lookup.md5, data, 16);
@@ -941,7 +941,7 @@ static int DatasetAddSha256wRep(Dataset *set, const uint8_t *data, const uint32_
         return -1;
 
     if (data_len != 32)
-        return 0;
+        return -2;
 
     Sha256Type lookup = { .rep = *rep };
     memcpy(lookup.sha256, data, 32);
@@ -959,7 +959,7 @@ static int DatasetAddSha256(Dataset *set, const uint8_t *data, const uint32_t da
         return -1;
 
     if (data_len != 32)
-        return 0;
+        return -2;
 
     Sha256Type lookup = { .rep.value = 0 };
     memcpy(lookup.sha256, data, 32);
@@ -1004,7 +1004,12 @@ static int DatasetAddwRep(Dataset *set, const uint8_t *data, const uint32_t data
     return -1;
 }
 
-/** \brief add serialized data to set */
+/** \brief add serialized data to set
+ *  \retval int 1 added
+ *  \retval int 0 already in hash
+ *  \retval int -1 API error (not added)
+ *  \retval int -2 DATA error
+ */
 int DatasetAddSerialized(Dataset *set, const char *string)
 {
     if (set == NULL)
@@ -1015,25 +1020,25 @@ int DatasetAddSerialized(Dataset *set, const char *string)
             uint8_t decoded[strlen(string)];
             uint32_t len = DecodeBase64(decoded, (const uint8_t *)string, strlen(string), 1);
             if (len == 0) {
-                return -1;
+                return -2;
             }
 
             return DatasetAddString(set, decoded, len);
         }
         case DATASET_TYPE_MD5: {
             if (strlen(string) != 32)
-                return -1;
+                return -2;
             uint8_t hash[16];
             if (HexToRaw((const uint8_t *)string, 32, hash, sizeof(hash)) < 0)
-                return -1;
+                return -2;
             return DatasetAddMd5(set, hash, 16);
         }
         case DATASET_TYPE_SHA256: {
             if (strlen(string) != 64)
-                return -1;
+                return -2;
             uint8_t hash[32];
             if (HexToRaw((const uint8_t *)string, 64, hash, sizeof(hash)) < 0)
-                return -1;
+                return -2;
             return DatasetAddSha256(set, hash, 32);
         }
     }