diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c index 9c32bac..0b9264d 100644 --- a/librtmp/rtmp.c +++ b/librtmp/rtmp.c @@ -2503,6 +2503,16 @@ static void hexenc(unsigned char *inbuf, int len, char *dst) *ptr = '\0'; } +static char * +AValChr(AVal *av, char c) +{ + int i; + for (i = 0; i < av->av_len; i++) + if (av->av_val[i] == c) + return &av->av_val[i]; + return NULL; +} + static int PublisherAuth(RTMP *r, AVal *description) { @@ -2774,7 +2784,7 @@ PublisherAuth(RTMP *r, AVal *description) /* hash2 = hexenc(md5(method + ":/" + app + "/" + appInstance)) */ /* Extract appname + appinstance without query parameters */ apptmp = r->Link.app; - ptr = strchr(apptmp.av_val, '?'); + ptr = AValChr(&apptmp, '?'); if (ptr) apptmp.av_len = ptr - apptmp.av_val;