Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1749)

Unified Diff: testing/libfuzzer/fuzzers/libsrtp_fuzzer.cc

Issue 2462213002: Upgrade libsrtp to version 2.0 (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « DEPS ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: testing/libfuzzer/fuzzers/libsrtp_fuzzer.cc
diff --git a/testing/libfuzzer/fuzzers/libsrtp_fuzzer.cc b/testing/libfuzzer/fuzzers/libsrtp_fuzzer.cc
index 8ec3a85807b0ef522548f7c8d697ee059c83b466..c2cf7eb003b1222cc917da36b08fb0d875c28904 100644
--- a/testing/libfuzzer/fuzzers/libsrtp_fuzzer.cc
+++ b/testing/libfuzzer/fuzzers/libsrtp_fuzzer.cc
@@ -9,9 +9,9 @@
#include <algorithm>
#include <vector>
-#include "third_party/libsrtp/srtp/include/rtp.h"
-#include "third_party/libsrtp/srtp/include/rtp_priv.h"
-#include "third_party/libsrtp/srtp/include/srtp.h"
+#include "third_party/libsrtp/include/rtp.h"
+#include "third_party/libsrtp/include/rtp_priv.h"
+#include "third_party/libsrtp/include/srtp.h"
// TODO(katrielc) Also test the authenticated path, which is what
// WebRTC uses. This is nontrivial because you need to bypass the MAC
@@ -35,20 +35,21 @@ struct Environment {
switch (crypto_policy) {
case LibSrtpFuzzer::NUMBER_OF_POLICIES:
case LibSrtpFuzzer::NONE:
- crypto_policy_set_null_cipher_null_auth(&policy.rtp);
- crypto_policy_set_null_cipher_null_auth(&policy.rtcp);
+ srtp_crypto_policy_set_null_cipher_null_auth(&policy.rtp);
+ srtp_crypto_policy_set_null_cipher_null_auth(&policy.rtcp);
break;
case LibSrtpFuzzer::LIKE_WEBRTC:
- crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy.rtp);
- crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy.rtcp);
+ srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy.rtp);
+ srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy.rtcp);
+ break;
case LibSrtpFuzzer::LIKE_WEBRTC_WITHOUT_AUTH:
- crypto_policy_set_aes_cm_128_null_auth(&policy.rtp);
- crypto_policy_set_aes_cm_128_null_auth(&policy.rtcp);
+ srtp_crypto_policy_set_aes_cm_128_null_auth(&policy.rtp);
+ srtp_crypto_policy_set_aes_cm_128_null_auth(&policy.rtcp);
break;
case LibSrtpFuzzer::AES_GCM:
// There was a security bug in the GCM mode in libsrtp 1.5.2.
- crypto_policy_set_aes_gcm_128_8_auth(&policy.rtp);
- crypto_policy_set_aes_gcm_128_8_auth(&policy.rtcp);
+ srtp_crypto_policy_set_aes_gcm_128_8_auth(&policy.rtp);
+ srtp_crypto_policy_set_aes_gcm_128_8_auth(&policy.rtcp);
break;
}
@@ -73,10 +74,11 @@ struct Environment {
srtp_policy_t policy;
unsigned char key[SRTP_MASTER_KEY_LEN] = {0};
- static void crypto_policy_set_null_cipher_null_auth(crypto_policy_t* p) {
- p->cipher_type = NULL_CIPHER;
+ static void srtp_crypto_policy_set_null_cipher_null_auth(
+ srtp_crypto_policy_t* p) {
+ p->cipher_type = SRTP_NULL_CIPHER;
p->cipher_key_len = 0;
- p->auth_type = NULL_AUTH;
+ p->auth_type = SRTP_NULL_AUTH;
p->auth_key_len = 0;
p->auth_tag_len = 0;
p->sec_serv = sec_serv_none;
@@ -109,8 +111,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
size -= SRTP_MASTER_KEY_LEN;
srtp_t session;
- err_status_t error = srtp_create(&session, &srtp_policy);
- assert(error == err_status_ok);
+ srtp_err_status_t error = srtp_create(&session, &srtp_policy);
+ if (error != srtp_err_status_ok) {
+ assert(false);
+ return 0;
+ }
// Read one byte as a packet length N, then feed the next N bytes
// into srtp_unprotect. Keep going until we run out of data.
« no previous file with comments | « DEPS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698