diff options
Diffstat (limited to 'ecp/util')
| -rw-r--r-- | ecp/util/util.c | 11 | 
1 files changed, 6 insertions, 5 deletions
| diff --git a/ecp/util/util.c b/ecp/util/util.c index 4f4adc2..7ce8da5 100644 --- a/ecp/util/util.c +++ b/ecp/util/util.c @@ -1,6 +1,7 @@  #include <stdlib.h>  #include <fcntl.h>  #include <unistd.h> +#include <sys/stat.h>  #include "core.h"  #include "cr.h" @@ -9,7 +10,7 @@  int ecp_util_key_save(ECPContext *ctx, ECPDHKey *key, char *filename) {      int fd;      ssize_t rv; -     +      if ((fd = open(filename, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR)) < 0) return ECP_ERR;      rv = write(fd, ecp_cr_dh_pub_get_buf(&key->public), ECP_ECDH_SIZE_KEY);      if (rv != ECP_ECDH_SIZE_KEY) { @@ -29,7 +30,7 @@ int ecp_util_key_load(ECPContext *ctx, ECPDHKey *key, char *filename) {      int fd;      ssize_t rv;      unsigned char buf[ECP_ECDH_SIZE_KEY]; -     +      if ((fd = open(filename, O_RDONLY)) < 0) return ECP_ERR;      rv = read(fd, buf, ECP_ECDH_SIZE_KEY);      if (rv != ECP_ECDH_SIZE_KEY) { @@ -44,7 +45,7 @@ int ecp_util_key_load(ECPContext *ctx, ECPDHKey *key, char *filename) {      close(fd);      ecp_cr_dh_pub_from_buf(&key->public, buf); -     +      key->valid = 1;      return ECP_OK;  } @@ -52,7 +53,7 @@ int ecp_util_key_load(ECPContext *ctx, ECPDHKey *key, char *filename) {  int ecp_util_node_save(ECPContext *ctx, ECPNode *node, char *filename) {      int fd;      ssize_t rv; -     +      if ((fd = open(filename, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR)) < 0) return ECP_ERR;      rv = write(fd, ecp_cr_dh_pub_get_buf(&node->public), ECP_ECDH_SIZE_KEY);      if (rv != ECP_ECDH_SIZE_KEY) { @@ -72,7 +73,7 @@ int ecp_util_node_load(ECPContext *ctx, ECPNode *node, char *filename) {      int fd;      ssize_t rv;      unsigned char buf[ECP_ECDH_SIZE_KEY]; -     +      if ((fd = open(filename, O_RDONLY)) < 0) return ECP_ERR;      rv = read(fd, buf, ECP_ECDH_SIZE_KEY);      if (rv != ECP_ECDH_SIZE_KEY) { | 
