diff options
author | Susan LoVerso <sue@wiredtiger.com> | 2014-02-26 09:34:55 -0500 |
---|---|---|
committer | Susan LoVerso <sue@wiredtiger.com> | 2014-02-26 09:34:55 -0500 |
commit | 07f758549bfd25dcd0b63418fdee2b5ddf4d72b7 (patch) | |
tree | 4c62f3fc9820feb5ff3075250dc3671c3d14b62d | |
parent | 27e5aeb968ae36a23f24995a466560297735afc8 (diff) | |
download | mongo-07f758549bfd25dcd0b63418fdee2b5ddf4d72b7.tar.gz |
Coverity fixes.
-rw-r--r-- | bench/wtperf/wtperf.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/bench/wtperf/wtperf.c b/bench/wtperf/wtperf.c index 47389666a39..122370a6cc9 100644 --- a/bench/wtperf/wtperf.c +++ b/bench/wtperf/wtperf.c @@ -1217,7 +1217,7 @@ start_all_runs(CONFIG *cfg) { CONFIG *next_cfg, **configs; char *cmd_buf, *new_home; - int ret; + int ret, t_ret; size_t cmd_len, home_len, i; pthread_t *threads; @@ -1253,7 +1253,12 @@ start_all_runs(CONFIG *cfg) goto err; /* Setup a unique home directory for each database. */ + configs[i] = next_cfg; new_home = malloc(home_len + 5); + if (new_home == NULL) { + ret = ENOMEM; + goto err; + } sprintf(new_home, "%s/D%02d", cfg->home, (int)i); next_cfg->home = (const char *)new_home; @@ -1273,20 +1278,21 @@ start_all_runs(CONFIG *cfg) lprintf(cfg, ret, 0, "Error creating thread"); goto err; } - configs[i] = next_cfg; } /* Wait for threads to finish. */ for (i = 0; i < cfg->database_count; i++) { - if ((ret = pthread_join(threads[i], NULL)) != 0) { + if ((t_ret = pthread_join(threads[i], NULL)) != 0) { lprintf(cfg, ret, 0, "Error joining thread"); - return (ret); + if (ret == 0) + ret = t_ret; } } err: for (i = 0; i < cfg->database_count && configs[i] != NULL; i++) { free((char *)configs[i]->home); config_free(configs[i]); + free(configs[i]); } free(configs); free(threads); |