projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't check for NULL-pointers before calling free().
[tinc]
/
src
/
tincd.c
diff --git
a/src/tincd.c
b/src/tincd.c
index
bc04f5f
..
b4704c4
100644
(file)
--- a/
src/tincd.c
+++ b/
src/tincd.c
@@
-434,7
+434,10
@@
static bool keygen(int bits) {
BN_GENCB_set(cb, indicator, NULL);
rsa_key = RSA_new();
BN_GENCB_set(cb, indicator, NULL);
rsa_key = RSA_new();
- BN_hex2bn(&e, "10001");
+
+ if(BN_hex2bn(&e, "10001") == 0) {
+ abort();
+ }
if(!rsa_key || !e) {
abort();
if(!rsa_key || !e) {
abort();
@@
-559,25
+562,11
@@
static void make_names(void) {
}
static void free_names() {
}
static void free_names() {
- if(identname) {
- free(identname);
- }
-
- if(netname) {
- free(netname);
- }
-
- if(pidfilename) {
- free(pidfilename);
- }
-
- if(logfilename) {
- free(logfilename);
- }
-
- if(confbase) {
- free(confbase);
- }
+ free(identname);
+ free(netname);
+ free(pidfilename);
+ free(logfilename);
+ free(confbase);
}
static bool drop_privs() {
}
static bool drop_privs() {
@@
-698,7
+687,10
@@
int main(int argc, char **argv) {
/* Slllluuuuuuurrrrp! */
/* Slllluuuuuuurrrrp! */
- RAND_load_file("/dev/urandom", 1024);
+ if(RAND_load_file("/dev/urandom", 1024) != 1024) {
+ logger(LOG_ERR, "Error initializing RNG!");
+ return 1;
+ }
ENGINE_load_builtin_engines();
ENGINE_register_all_complete();
ENGINE_load_builtin_engines();
ENGINE_register_all_complete();