Fixed silc_message_payload_free crash.
[silc.git] / lib / silccore / silcmessage.c
index ae257eb2a70eace325ff585050fc75e7caca235e..d1b43ee581bc03c7d0610ff431b13a79930129d5 100644 (file)
@@ -671,6 +671,7 @@ SilcBuffer silc_message_payload_encode(SilcMessageFlags flags,
 
 void silc_message_payload_free(SilcMessagePayload payload)
 {
+  silc_message_signed_payload_free(&payload->sig);
   if (payload->data) {
     memset(payload->data, 0, payload->data_len);
     if (payload->allocated)
@@ -680,7 +681,6 @@ void silc_message_payload_free(SilcMessagePayload payload)
     silc_free(payload->pad);
     silc_free(payload);
   }
-  silc_message_signed_payload_free(&payload->sig);
 }
 
 /* Return flags */