aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-09-17 13:41:33 +0000
committerChristian Grothoff <christian@grothoff.org>2012-09-17 13:41:33 +0000
commitb2399cd463b59e7228e0a93464e856ce6fae0a47 (patch)
tree7cb10a8f9770682c138a858e5f400f5575fa3a55 /src
parent1e235920da4833235a83e8daa422f2420ab2368a (diff)
downloadgnunet-b2399cd463b59e7228e0a93464e856ce6fae0a47.tar.gz
gnunet-b2399cd463b59e7228e0a93464e856ce6fae0a47.zip
-trying to fix bb errors
Diffstat (limited to 'src')
-rw-r--r--src/util/crypto_rsa.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/util/crypto_rsa.c b/src/util/crypto_rsa.c
index 8843464a2..d94051201 100644
--- a/src/util/crypto_rsa.c
+++ b/src/util/crypto_rsa.c
@@ -943,6 +943,8 @@ check_key_generation_completion (void *cls,
943 enum GNUNET_OS_ProcessStatusType type; 943 enum GNUNET_OS_ProcessStatusType type;
944 unsigned long code; 944 unsigned long code;
945 struct GNUNET_CRYPTO_RsaPrivateKey *pk; 945 struct GNUNET_CRYPTO_RsaPrivateKey *pk;
946 char buf[512];
947 ssize_t ret;
946 948
947 gc->read_task = GNUNET_SCHEDULER_NO_TASK; 949 gc->read_task = GNUNET_SCHEDULER_NO_TASK;
948 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 950 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
@@ -955,9 +957,23 @@ check_key_generation_completion (void *cls,
955 GNUNET_OS_process_status (gc->gnunet_rsa, 957 GNUNET_OS_process_status (gc->gnunet_rsa,
956 &type, &code)) 958 &type, &code))
957 { 959 {
958 GNUNET_break (0); 960 if (0 >= (ret = GNUNET_DISK_file_read (GNUNET_DISK_pipe_handle (gc->gnunet_rsa_out,
959 gc->cont (gc->cont_cls, NULL, _("internal error")); 961 GNUNET_DISK_PIPE_END_READ),
960 GNUNET_CRYPTO_rsa_key_create_stop (gc); 962 buf, sizeof (buf))))
963 {
964 GNUNET_break (0);
965 gc->cont (gc->cont_cls, NULL, _("internal error"));
966 GNUNET_CRYPTO_rsa_key_create_stop (gc);
967 return;
968 }
969 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
970 _("Unexpected gnunet-rsa output: %.*s\n"),
971 (int) ret, buf);
972 gc->read_task = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL,
973 GNUNET_DISK_pipe_handle (gc->gnunet_rsa_out,
974 GNUNET_DISK_PIPE_END_READ),
975 &check_key_generation_completion,
976 gc);
961 return; 977 return;
962 } 978 }
963 GNUNET_OS_process_destroy (gc->gnunet_rsa); 979 GNUNET_OS_process_destroy (gc->gnunet_rsa);
@@ -977,6 +993,7 @@ check_key_generation_completion (void *cls,
977 return; 993 return;
978 } 994 }
979 gc->cont (gc->cont_cls, pk, NULL); 995 gc->cont (gc->cont_cls, pk, NULL);
996 GNUNET_DISK_pipe_close (gc->gnunet_rsa_out);
980 GNUNET_free (gc->filename); 997 GNUNET_free (gc->filename);
981 GNUNET_free (gc); 998 GNUNET_free (gc);
982} 999}