aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Green <andy@warmcat.com>2021-11-08 10:44:55 +0000
committerAndy Green <andy@warmcat.com>2021-11-08 11:05:28 +0000
commitf9fc45bd9896e19b00a40da64134845ccf5fcea0 (patch)
tree32250dc48d46136a6989636a1087f477955ea8ab
parent1db45d17dfd6282ee7a88676ac01525714305cce (diff)
downloadlibwebsockets-f9fc45bd9896e19b00a40da64134845ccf5fcea0.tar.gz
sspc: proxy: coverity: handle unknown metadata name
-rw-r--r--lib/secure-streams/secure-streams-serialize.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/secure-streams/secure-streams-serialize.c b/lib/secure-streams/secure-streams-serialize.c
index 2202e029..53a9ed81 100644
--- a/lib/secure-streams/secure-streams-serialize.c
+++ b/lib/secure-streams/secure-streams-serialize.c
@@ -1156,8 +1156,22 @@ payload_ff:
if (client) {
*par->rxmetaval++ = *cp++;
- } else
+ } else {
+
+ if (!par->ssmd) {
+ /* we don't recognize the name */
+
+ cp++;
+
+ if (--par->rem)
+ break;
+
+ par->ps = RPAR_TYPE;
+ break;
+ }
+
((uint8_t *)(par->ssmd->value__may_own_heap))[par->ctr++] = *cp++;
+ }
if (--par->rem)
break;