From 5c58431646f05637d801c671a5f55a11903b37a5 Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Thu, 6 Oct 2016 17:08:57 +0200 Subject: Coding style - set all pointers to NULL initially and after free --- src/gensvm_base.c | 3 +++ src/gensvm_grid.c | 1 + src/gensvm_gridsearch.c | 30 +++++++++++++++++++++--------- src/gensvm_io.c | 10 +++++----- src/gensvm_kernel.c | 19 ++++++++++++++----- src/gensvm_optimize.c | 6 ++++-- src/gensvm_pred.c | 4 +++- src/gensvm_queue.c | 1 + src/gensvm_strutil.c | 8 +++++--- src/gensvm_task.c | 1 + 10 files changed, 58 insertions(+), 25 deletions(-) diff --git a/src/gensvm_base.c b/src/gensvm_base.c index 0f3ac5d..cef0a3c 100644 --- a/src/gensvm_base.c +++ b/src/gensvm_base.c @@ -64,6 +64,7 @@ void gensvm_free_data(struct GenData *data) free(data->y); free(data->Sigma); free(data); + data = NULL; } /** @@ -193,6 +194,7 @@ void gensvm_free_model(struct GenModel *model) free(model->data_file); free(model); + model = NULL; } /** @@ -251,6 +253,7 @@ void gensvm_free_work(struct GenWork *work) free(work->ZV); free(work->beta); free(work); + work = NULL; } /** diff --git a/src/gensvm_grid.c b/src/gensvm_grid.c index f258a93..7e235d0 100644 --- a/src/gensvm_grid.c +++ b/src/gensvm_grid.c @@ -59,4 +59,5 @@ void gensvm_free_grid(struct GenGrid *grid) free(grid->train_data_file); free(grid->test_data_file); free(grid); + grid = NULL; } diff --git a/src/gensvm_gridsearch.c b/src/gensvm_gridsearch.c index deee033..50b0020 100644 --- a/src/gensvm_gridsearch.c +++ b/src/gensvm_gridsearch.c @@ -37,7 +37,7 @@ void gensvm_fill_queue(struct GenGrid *grid, struct GenQueue *queue, { long i, j, k; long N, cnt = 0; - struct GenTask *task; + struct GenTask *task = NULL; queue->i = 0; N = grid->Np; @@ -203,7 +203,7 @@ double prctile(double *values, long N, double p) struct GenQueue *create_top_queue(struct GenQueue *q) { long i, k, N = 0; - double boundary, *perf; + double boundary, *perf = NULL; struct GenQueue *nq = Malloc(struct GenQueue, 1); // find the 95th percentile of performance @@ -271,10 +271,16 @@ struct GenQueue *create_top_queue(struct GenQueue *q) */ void consistency_repeats(struct GenQueue *q, long repeats, TrainType traintype) { - long i, f, r, N, *cv_idx; - double p, pi, pr, pt, *time, *std, *mean, *perf; - struct GenQueue *nq; - struct GenData **train_folds, **test_folds; + bool breakout; + long i, f, r, N, *cv_idx = NULL; + double p, pi, pr, pt, + *time = NULL, + *std = NULL, + *mean = NULL, + *perf = NULL; + struct GenQueue *nq = NULL; + struct GenData **train_folds = NULL, + **test_folds = NULL; struct GenModel *model = gensvm_init_model(); struct GenTask *task = NULL; clock_t loop_s, loop_e; @@ -338,7 +344,10 @@ void consistency_repeats(struct GenQueue *q, long repeats, TrainType traintype) gensvm_free_data(test_folds[f]); } free(train_folds); + train_folds = NULL; + free(test_folds); + test_folds = NULL; } for (r=0; rSigma (need it again for prediction) - if (data->Sigma != NULL) + if (data->Sigma != NULL) { free(data->Sigma); + data->Sigma = NULL; + } data->Sigma = Sigma; // write kernel params to data data->kerneltype = model->kerneltype; + free(data->kernelparam); + data->kernelparam = NULL; + switch (model->kerneltype) { case K_LINEAR: break; @@ -99,7 +104,8 @@ void gensvm_make_kernel(struct GenModel *model, struct GenData *data, long i, j; long n = data->n; double value; - double *x1, *x2; + double *x1 = NULL, + *x2 = NULL; for (i=0; in; long m = data_test->m; double value; - double *x1, *x2; + double *x1 = NULL, + *x2 = NULL; *K2 = Calloc(double, n_test*n_train); diff --git a/src/gensvm_optimize.c b/src/gensvm_optimize.c index 184c45f..60a5682 100644 --- a/src/gensvm_optimize.c +++ b/src/gensvm_optimize.c @@ -362,7 +362,7 @@ double gensvm_get_alpha_beta(struct GenModel *model, struct GenData *data, K = model->K; double omega, a, b_aq = 0.0, alpha = 0.0; - double *uu_row; + double *uu_row = NULL; const double in = 1.0/((double) model->n); simple = gensvm_majorize_is_simple(model, data, i); @@ -528,7 +528,9 @@ void gensvm_get_update(struct GenModel *model, struct GenData *data, err("[GenSVM Warning]: Received nonzero " "status from dsysv: %i\n", status); free(WORK); + WORK = NULL; free(IPIV); + IPIV = NULL; } // the solution is now stored in ZBc, in column-major order. Here we @@ -634,7 +636,7 @@ void gensvm_calculate_errors(struct GenModel *model, struct GenData *data, double *ZV) { long i, j; - double q, *uu_row; + double q, *uu_row = NULL; long n = model->n; long m = model->m; diff --git a/src/gensvm_pred.c b/src/gensvm_pred.c index 43b27cc..1feb14a 100644 --- a/src/gensvm_pred.c +++ b/src/gensvm_pred.c @@ -31,7 +31,9 @@ void gensvm_predict_labels(struct GenData *testdata, struct GenModel *model, long *predy) { long i, j, k, n, m, K, label; - double norm, min_dist, *S, *ZV; + double norm, min_dist, + *S = NULL, + *ZV = NULL; n = testdata->n; m = testdata->r; diff --git a/src/gensvm_queue.c b/src/gensvm_queue.c index bbf57b2..1994a54 100644 --- a/src/gensvm_queue.c +++ b/src/gensvm_queue.c @@ -46,6 +46,7 @@ void gensvm_free_queue(struct GenQueue *q) } free(q->tasks); free(q); + q = NULL; } /** diff --git a/src/gensvm_strutil.c b/src/gensvm_strutil.c index 9762e52..a05f320 100644 --- a/src/gensvm_strutil.c +++ b/src/gensvm_strutil.c @@ -75,7 +75,7 @@ char *get_line(FILE *fid, char *filename, char *buffer) * @brief Read a double from file following a format * * @details - * This function reads a double value from a file. If no value can be found, a + * This function reads a double value from a file. If no value can be found, a * warning is printed to stderr, and NAN is returned. * * @param[in] fid File opened for reading @@ -135,7 +135,8 @@ long all_doubles_str(char *buffer, long offset, double *all_doubles) { double value; long i = 0; - char *start, *end; + char *start = NULL, + *end = NULL; start = buffer + offset; while (true) { @@ -170,7 +171,8 @@ long all_longs_str(char *buffer, long offset, long *all_longs) { long value; long i = 0; - char *start, *end; + char *start = NULL, + *end = NULL; start = buffer + offset; while (true) { diff --git a/src/gensvm_task.c b/src/gensvm_task.c index 587c4c4..eab7d79 100644 --- a/src/gensvm_task.c +++ b/src/gensvm_task.c @@ -52,4 +52,5 @@ void gensvm_free_task(struct GenTask *t) { free(t->kernelparam); free(t); + t = NULL; } -- cgit v1.2.3