projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bugfixes merged from trunk.
[silc.git]
/
lib
/
silcske
/
payload.c
diff --git
a/lib/silcske/payload.c
b/lib/silcske/payload.c
index 9bf2aa862e9346096871103aa27c50fa43c6941d..eafbd873330404b36fe711a529c9476671b556db 100644
(file)
--- a/
lib/silcske/payload.c
+++ b/
lib/silcske/payload.c
@@
-265,7
+265,9
@@
SilcSKEStatus silc_ske_payload_ke_decode(SilcSKE ske,
goto err;
}
goto err;
}
- if (payload->pk_type == 0) {
+ if (ske->start_payload &&
+ (payload->pk_type < SILC_SKE_PK_TYPE_SILC ||
+ payload->pk_type > SILC_SKE_PK_TYPE_SPKI)) {
status = SILC_SKE_STATUS_BAD_PAYLOAD;
goto err;
}
status = SILC_SKE_STATUS_BAD_PAYLOAD;
goto err;
}
@@
-304,7
+306,7
@@
SilcSKEStatus silc_ske_payload_ke_decode(SilcSKE ske,
}
if (tot_len != len2) {
}
if (tot_len != len2) {
- status = SILC_SKE_STATUS_BAD_PAYLOAD;
+ status = SILC_SKE_STATUS_BAD_PAYLOAD
_LENGTH
;
goto err;
}
goto err;
}