Fixed silc_message_payload_free crash.
authorPekka Riikonen <priikone@silcnet.org>
Sun, 6 May 2007 20:03:23 +0000 (20:03 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sun, 6 May 2007 20:03:23 +0000 (20:03 +0000)
Added SILC_STATUS_ERR_NO_SUCH_PUBLIC_KEY.

lib/silccore/silcmessage.c
lib/silccore/silcstatus.h

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 */
index 3f1637b6f07db4e78597fc009ae374f5b4a49abd..4eba17420d9b25efa1d21790eb0f123fff683d1f 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 2002 - 2005 Pekka Riikonen
+  Copyright (C) 2002 - 2007 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -104,6 +104,7 @@ typedef SilcUInt8 SilcStatus;
 #define SILC_STATUS_ERR_OPERATION_ALLOWED   56
 #define SILC_STATUS_ERR_BAD_SERVER          57
 #define SILC_STATUS_ERR_BAD_USERNAME        58
+#define SILC_STATUS_ERR_NO_SUCH_PUBLIC_KEY  59
 /***/
 
 #define SILC_STATUS_IS_ERROR(status) (status >= SILC_STATUS_ERR_NO_SUCH_NICK)