updates.
[silc.git] / lib / silcske / silcske.c
index 852ad4fd2cd5e9dfbbb19f123f784c409afebe00..8bd412a71843864b735400baf6becb3859b4491a 100644 (file)
@@ -810,7 +810,7 @@ SilcSKEStatus silc_ske_end(SilcSKE ske,
   packet = silc_buffer_alloc(4);
   silc_buffer_pull_tail(packet, SILC_BUFFER_END(packet));
   silc_buffer_format(packet,
-                    SILC_STR_UI_SHORT(SILC_SKE_STATUS_OK),
+                    SILC_STR_UI_INT((uint32)SILC_SKE_STATUS_OK),
                     SILC_STR_END);
 
   if (send_packet)
@@ -836,7 +836,7 @@ SilcSKEStatus silc_ske_abort(SilcSKE ske, SilcSKEStatus status,
   packet = silc_buffer_alloc(4);
   silc_buffer_pull_tail(packet, SILC_BUFFER_END(packet));
   silc_buffer_format(packet,
-                    SILC_STR_UI_SHORT(status),
+                    SILC_STR_UI_INT((uint32)status),
                     SILC_STR_END);
 
   if (send_packet)
@@ -1425,6 +1425,9 @@ silc_ske_process_key_material_data(unsigned char *data,
 
   SILC_LOG_DEBUG(("Start"));
 
+  if (!req_iv_len || !req_enc_key_len || !req_hmac_key_len)
+    return SILC_SKE_STATUS_ERROR;
+
   buf = silc_buffer_alloc(1 + data_len);
   silc_buffer_pull_tail(buf, SILC_BUFFER_END(buf));
   silc_buffer_format(buf,