/** * \brief this function will free memory associated with DetectFileMd5Data * * \param filemd5 pointer to DetectFileMd5Data */ static void DetectFileMd5Free(void *ptr) { if (ptr != NULL) { DetectFileMd5Data *filemd5 = (DetectFileMd5Data *)ptr; if (filemd5->hash != NULL) ROHashFree(filemd5->hash); SCFree(filemd5); } }
/** * \brief this function will free memory associated with DetectFileHashData * * \param filehash pointer to DetectFileHashData */ void DetectFileHashFree(void *ptr) { if (ptr != NULL) { DetectFileHashData *filehash = (DetectFileHashData *)ptr; if (filehash->hash != NULL) ROHashFree(filehash->hash); SCFree(filehash); } }
static int MD5MatchTest01(void) { ROHashTable *hash = ROHashInit(4, 16); if (hash == NULL) { return 0; } if (MD5LoadHash(hash, "d80f93a93dc5f3ee945704754d6e0a36", "file", 1) != 1) return 0; if (MD5LoadHash(hash, "92a49985b384f0d993a36e4c2d45e206", "file", 2) != 1) return 0; if (MD5LoadHash(hash, "11adeaacc8c309815f7bc3e33888f281", "file", 3) != 1) return 0; if (MD5LoadHash(hash, "22e10a8fe02344ade0bea8836a1714af", "file", 4) != 1) return 0; if (MD5LoadHash(hash, "c3db2cbf02c68f073afcaee5634677bc", "file", 5) != 1) return 0; if (MD5LoadHash(hash, "7ed095da259638f42402fb9e74287a17", "file", 6) != 1) return 0; if (ROHashInitFinalize(hash) != 1) { return 0; } if (MD5MatchLookupString(hash, "d80f93a93dc5f3ee945704754d6e0a36") != 1) return 0; if (MD5MatchLookupString(hash, "92a49985b384f0d993a36e4c2d45e206") != 1) return 0; if (MD5MatchLookupString(hash, "11adeaacc8c309815f7bc3e33888f281") != 1) return 0; if (MD5MatchLookupString(hash, "22e10a8fe02344ade0bea8836a1714af") != 1) return 0; if (MD5MatchLookupString(hash, "c3db2cbf02c68f073afcaee5634677bc") != 1) return 0; if (MD5MatchLookupString(hash, "7ed095da259638f42402fb9e74287a17") != 1) return 0; /* shouldnt match */ if (MD5MatchLookupString(hash, "33333333333333333333333333333333") == 1) return 0; ROHashFree(hash); return 1; }