diff options
author | Nathan S. Evans <evans@in.tum.de> | 2010-06-21 14:30:08 +0000 |
---|---|---|
committer | Nathan S. Evans <evans@in.tum.de> | 2010-06-21 14:30:08 +0000 |
commit | b50484f5af8f9a33ecea9cef21621cd71d78b25d (patch) | |
tree | 268370a34201930c693e44f22211e2884f89c42d /src/testing | |
parent | 36ca30325a5c0f28ba135039c4ef25ad2e9de29f (diff) | |
download | gnunet-b50484f5af8f9a33ecea9cef21621cd71d78b25d.tar.gz gnunet-b50484f5af8f9a33ecea9cef21621cd71d78b25d.zip |
codesonar fixes
Diffstat (limited to 'src/testing')
-rw-r--r-- | src/testing/testing.c | 22 | ||||
-rw-r--r-- | src/testing/testing_group.c | 20 |
2 files changed, 32 insertions, 10 deletions
diff --git a/src/testing/testing.c b/src/testing/testing.c index 5b36fc380..58d09806b 100644 --- a/src/testing/testing.c +++ b/src/testing/testing.c | |||
@@ -65,6 +65,7 @@ static void | |||
65 | process_hello (void *cls, const struct GNUNET_MessageHeader *message) | 65 | process_hello (void *cls, const struct GNUNET_MessageHeader *message) |
66 | { | 66 | { |
67 | struct GNUNET_TESTING_Daemon *daemon = cls; | 67 | struct GNUNET_TESTING_Daemon *daemon = cls; |
68 | int msize; | ||
68 | if (daemon == NULL) | 69 | if (daemon == NULL) |
69 | return; | 70 | return; |
70 | 71 | ||
@@ -75,6 +76,11 @@ process_hello (void *cls, const struct GNUNET_MessageHeader *message) | |||
75 | } | 76 | } |
76 | 77 | ||
77 | GNUNET_assert (message != NULL); | 78 | GNUNET_assert (message != NULL); |
79 | msize = ntohs(message->size); | ||
80 | if (msize < 1) | ||
81 | { | ||
82 | return; | ||
83 | } | ||
78 | if (daemon->th != NULL) | 84 | if (daemon->th != NULL) |
79 | { | 85 | { |
80 | GNUNET_TRANSPORT_get_hello_cancel(daemon->th, &process_hello, daemon); | 86 | GNUNET_TRANSPORT_get_hello_cancel(daemon->th, &process_hello, daemon); |
@@ -85,14 +91,18 @@ process_hello (void *cls, const struct GNUNET_MessageHeader *message) | |||
85 | "HELLO", GNUNET_i2s (&daemon->id)); | 91 | "HELLO", GNUNET_i2s (&daemon->id)); |
86 | #endif | 92 | #endif |
87 | 93 | ||
88 | GNUNET_free_non_null(daemon->hello); | ||
89 | daemon->hello = GNUNET_malloc(ntohs(message->size)); | ||
90 | memcpy(daemon->hello, message, ntohs(message->size)); | ||
91 | 94 | ||
92 | if (daemon->th != NULL) | 95 | |
93 | { | 96 | { |
94 | GNUNET_TRANSPORT_disconnect(daemon->th); | 97 | GNUNET_free_non_null(daemon->hello); |
95 | daemon->th = NULL; | 98 | daemon->hello = GNUNET_malloc(msize); |
99 | memcpy(daemon->hello, message, msize); | ||
100 | |||
101 | if (daemon->th != NULL) | ||
102 | { | ||
103 | GNUNET_TRANSPORT_disconnect(daemon->th); | ||
104 | daemon->th = NULL; | ||
105 | } | ||
96 | } | 106 | } |
97 | 107 | ||
98 | } | 108 | } |
diff --git a/src/testing/testing_group.c b/src/testing/testing_group.c index b304047ba..de624f25f 100644 --- a/src/testing/testing_group.c +++ b/src/testing/testing_group.c | |||
@@ -3150,6 +3150,8 @@ GNUNET_TESTING_daemons_churn (struct GNUNET_TESTING_PeerGroup *pg, | |||
3150 | struct ChurnContext *churn_ctx; | 3150 | struct ChurnContext *churn_ctx; |
3151 | unsigned int running; | 3151 | unsigned int running; |
3152 | unsigned int stopped; | 3152 | unsigned int stopped; |
3153 | unsigned int total_running; | ||
3154 | unsigned int total_stopped; | ||
3153 | unsigned int i; | 3155 | unsigned int i; |
3154 | unsigned int *running_arr; | 3156 | unsigned int *running_arr; |
3155 | unsigned int *stopped_arr; | 3157 | unsigned int *stopped_arr; |
@@ -3194,8 +3196,14 @@ GNUNET_TESTING_daemons_churn (struct GNUNET_TESTING_PeerGroup *pg, | |||
3194 | } | 3196 | } |
3195 | 3197 | ||
3196 | churn_ctx = GNUNET_malloc(sizeof(struct ChurnContext)); | 3198 | churn_ctx = GNUNET_malloc(sizeof(struct ChurnContext)); |
3197 | running_arr = GNUNET_malloc(running * sizeof(unsigned int)); | 3199 | |
3198 | stopped_arr = GNUNET_malloc(stopped * sizeof(unsigned int)); | 3200 | running_arr = NULL; |
3201 | if (running > 0) | ||
3202 | running_arr = GNUNET_malloc(running * sizeof(unsigned int)); | ||
3203 | |||
3204 | stopped_arr = NULL; | ||
3205 | if (stopped > 0) | ||
3206 | stopped_arr = GNUNET_malloc(stopped * sizeof(unsigned int)); | ||
3199 | 3207 | ||
3200 | running_permute = NULL; | 3208 | running_permute = NULL; |
3201 | stopped_permute = NULL; | 3209 | stopped_permute = NULL; |
@@ -3205,6 +3213,8 @@ GNUNET_TESTING_daemons_churn (struct GNUNET_TESTING_PeerGroup *pg, | |||
3205 | if (stopped > 0) | 3213 | if (stopped > 0) |
3206 | stopped_permute = GNUNET_CRYPTO_random_permute(GNUNET_CRYPTO_QUALITY_WEAK, stopped); | 3214 | stopped_permute = GNUNET_CRYPTO_random_permute(GNUNET_CRYPTO_QUALITY_WEAK, stopped); |
3207 | 3215 | ||
3216 | total_running = running; | ||
3217 | total_stopped = stopped; | ||
3208 | running = 0; | 3218 | running = 0; |
3209 | stopped = 0; | 3219 | stopped = 0; |
3210 | 3220 | ||
@@ -3217,11 +3227,13 @@ GNUNET_TESTING_daemons_churn (struct GNUNET_TESTING_PeerGroup *pg, | |||
3217 | { | 3227 | { |
3218 | if (pg->peers[i].daemon->running == GNUNET_YES) | 3228 | if (pg->peers[i].daemon->running == GNUNET_YES) |
3219 | { | 3229 | { |
3230 | GNUNET_assert((running_arr != NULL) && (total_running > running)); | ||
3220 | running_arr[running] = i; | 3231 | running_arr[running] = i; |
3221 | running++; | 3232 | running++; |
3222 | } | 3233 | } |
3223 | else | 3234 | else |
3224 | { | 3235 | { |
3236 | GNUNET_assert((stopped_arr != NULL) && (total_stopped > stopped)); | ||
3225 | stopped_arr[stopped] = i; | 3237 | stopped_arr[stopped] = i; |
3226 | stopped++; | 3238 | stopped++; |
3227 | } | 3239 | } |
@@ -3247,8 +3259,8 @@ GNUNET_TESTING_daemons_churn (struct GNUNET_TESTING_PeerGroup *pg, | |||
3247 | timeout, &churn_start_callback, churn_ctx); | 3259 | timeout, &churn_start_callback, churn_ctx); |
3248 | } | 3260 | } |
3249 | 3261 | ||
3250 | GNUNET_free(running_arr); | 3262 | GNUNET_free_non_null(running_arr); |
3251 | GNUNET_free(stopped_arr); | 3263 | GNUNET_free_non_null(stopped_arr); |
3252 | GNUNET_free_non_null(running_permute); | 3264 | GNUNET_free_non_null(running_permute); |
3253 | GNUNET_free_non_null(stopped_permute); | 3265 | GNUNET_free_non_null(stopped_permute); |
3254 | } | 3266 | } |