Skip to content

Commit

Permalink
Replace non-portable strcasestr() with strncasecmp() (meetecho#3076)
Browse files Browse the repository at this point in the history
  • Loading branch information
iskraman authored Oct 21, 2022
1 parent ec712d0 commit 78da5c5
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/sdp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 "));
Expand Down Expand Up @@ -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");
Expand All @@ -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) {
Expand Down

0 comments on commit 78da5c5

Please sign in to comment.