From 78da5c5beb3d15a26130a5fc329f3d10538c77b0 Mon Sep 17 00:00:00 2001 From: iskraman <35438497+iskraman@users.noreply.github.com> Date: Fri, 21 Oct 2022 21:59:45 +0900 Subject: [PATCH] Replace non-portable strcasestr() with strncasecmp() (#3076) --- src/sdp.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/sdp.c b/src/sdp.c index 101b91af54..72d190ead0 100644 --- a/src/sdp.c +++ b/src/sdp.c @@ -161,10 +161,10 @@ int janus_sdp_process_remote(void *ice_handle, janus_sdp *remote_sdp, gboolean r if(a && a->name && a->value) { if(!strcasecmp(a->name, "fingerprint")) { JANUS_LOG(LOG_VERB, "[%"SCNu64"] Fingerprint (global) : %s\n", handle->handle_id, a->value); - if(strcasestr(a->value, "sha-256 ") == a->value) { + if(!strncasecmp(a->value, "sha-256 ", strlen("sha-256 "))) { rhashing = g_strdup("sha-256"); rfingerprint = g_strdup(a->value + strlen("sha-256 ")); - } else if(strcasestr(a->value, "sha-1 ") == a->value) { + } else if(!strncasecmp(a->value, "sha-1 ", strlen("sha-1 "))) { JANUS_LOG(LOG_WARN, "[%"SCNu64"] Hashing algorithm not the one we expected (sha-1 instead of sha-256), but that's ok\n", handle->handle_id); rhashing = g_strdup("sha-1"); rfingerprint = g_strdup(a->value + strlen("sha-1 ")); @@ -349,12 +349,12 @@ int janus_sdp_process_remote(void *ice_handle, janus_sdp *remote_sdp, gboolean r } } else if(!strcasecmp(a->name, "fingerprint")) { JANUS_LOG(LOG_VERB, "[%"SCNu64"] Fingerprint (local) : %s\n", handle->handle_id, a->value); - if(strcasestr(a->value, "sha-256 ") == a->value) { + if(!strncasecmp(a->value, "sha-256 ", strlen("sha-256 "))) { g_free(rhashing); /* FIXME We're overwriting the global one, if any */ rhashing = g_strdup("sha-256"); g_free(rfingerprint); /* FIXME We're overwriting the global one, if any */ rfingerprint = g_strdup(a->value + strlen("sha-256 ")); - } else if(strcasestr(a->value, "sha-1 ") == a->value) { + } else if(!strncasecmp(a->value, "sha-1 ", strlen("sha-1 "))) { JANUS_LOG(LOG_WARN, "[%"SCNu64"] Hashing algorithm not the one we expected (sha-1 instead of sha-256), but that's ok\n", handle->handle_id); g_free(rhashing); /* FIXME We're overwriting the global one, if any */ rhashing = g_strdup("sha-1"); @@ -364,6 +364,7 @@ int janus_sdp_process_remote(void *ice_handle, janus_sdp *remote_sdp, gboolean r /* FIXME We should handle this somehow anyway... OpenSSL supports them all */ JANUS_LOG(LOG_WARN, "[%"SCNu64"] Hashing algorithm not the one we expected (sha-256), *NOT* cool\n", handle->handle_id); } + } else if(!strcasecmp(a->name, "setup")) { JANUS_LOG(LOG_VERB, "[%"SCNu64"] DTLS setup (local): %s\n", handle->handle_id, a->value); if(!update) {