summaryrefslogtreecommitdiff
path: root/libavformat/rtmpproto.c
diff options
context:
space:
mode:
authorReynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>2014-05-16 13:22:21 -0400
committerReynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>2014-05-16 17:31:48 -0400
commite83aae283975ad5657c626912f9f225d7fe673f0 (patch)
tree194e135abfbba21828699e289c125ea03da20c1f /libavformat/rtmpproto.c
parent627d3b8b730dfa1c1adc21dd36f730dde37de46d (diff)
rtmpproto: avoid setting auth var value if null
Use default values if parsed variable is found not to have any value. Avoids crashing at strlen for salt/user on the auth call afterwards and needless NULL assignments for the rest (default is already NULL for those). Should fix Coverity Scan issues #966644 and #966645 Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
Diffstat (limited to 'libavformat/rtmpproto.c')
-rw-r--r--libavformat/rtmpproto.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index 308110b9c1..b65521bdd5 100644
--- a/libavformat/rtmpproto.c
+++ b/libavformat/rtmpproto.c
@@ -1712,18 +1712,21 @@ static int handle_connect_error(URLContext *s, const char *desc)
char *value = strchr(ptr, '=');
if (next)
*next++ = '\0';
- if (value)
+ if (value) {
*value++ = '\0';
- if (!strcmp(ptr, "user")) {
- user = value;
- } else if (!strcmp(ptr, "salt")) {
- salt = value;
- } else if (!strcmp(ptr, "opaque")) {
- opaque = value;
- } else if (!strcmp(ptr, "challenge")) {
- challenge = value;
- } else if (!strcmp(ptr, "nonce")) {
- nonce = value;
+ if (!strcmp(ptr, "user")) {
+ user = value;
+ } else if (!strcmp(ptr, "salt")) {
+ salt = value;
+ } else if (!strcmp(ptr, "opaque")) {
+ opaque = value;
+ } else if (!strcmp(ptr, "challenge")) {
+ challenge = value;
+ } else if (!strcmp(ptr, "nonce")) {
+ nonce = value;
+ }
+ } else {
+ av_log(s, AV_LOG_WARNING, "Variable %s has NULL value\n", ptr);
}
ptr = next;
}