fixed segfault when fatals_ifany() called multiple times

This commit is contained in:
TLINDEN
2014-02-13 20:19:32 +01:00
parent a3aa740dd0
commit 01cf82b2df
2 changed files with 7 additions and 2 deletions

View File

@@ -84,7 +84,6 @@ typedef unsigned int qbyte; /* Quad byte = 32 bits */
#define PCP_CRYPTO_ADD (crypto_box_ZEROBYTES - crypto_box_BOXZEROBYTES) #define PCP_CRYPTO_ADD (crypto_box_ZEROBYTES - crypto_box_BOXZEROBYTES)
#define PCP_BLOCK_SIZE_IN (PCP_BLOCK_SIZE) + PCP_CRYPTO_ADD + crypto_secretbox_NONCEBYTES #define PCP_BLOCK_SIZE_IN (PCP_BLOCK_SIZE) + PCP_CRYPTO_ADD + crypto_secretbox_NONCEBYTES
#define PCP_ASYM_RECIPIENT_SIZE crypto_secretbox_KEYBYTES + PCP_CRYPTO_ADD + crypto_secretbox_NONCEBYTES #define PCP_ASYM_RECIPIENT_SIZE crypto_secretbox_KEYBYTES + PCP_CRYPTO_ADD + crypto_secretbox_NONCEBYTES
#define PCP_ASYM_RECIPIENT_RSIZE (PCP_ASYM_RECIPIENT_SIZE + 1)
/* #define PCP_ASYM_ADD_SENDER_PUB */ /* #define PCP_ASYM_ADD_SENDER_PUB */
@@ -107,4 +106,7 @@ void fatals_ifany();
/* reset */ /* reset */
void fatals_reset(); void fatals_reset();
/* free mem */
void fatals_done();
#endif /* _DEFINES_H */ #endif /* _DEFINES_H */

View File

@@ -54,7 +54,10 @@ void fatals_ifany() {
if(errno) { if(errno) {
fprintf(stderr, "Error: %s\n", strerror(errno)); fprintf(stderr, "Error: %s\n", strerror(errno));
} }
free(PCP_ERR);
PCP_EXIT = 1; PCP_EXIT = 1;
} }
} }
void fatals_done() {
free(PCP_ERR);
}