aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gensvm_copy.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gensvm_copy.c b/src/gensvm_copy.c
index 501e405..9ec1625 100644
--- a/src/gensvm_copy.c
+++ b/src/gensvm_copy.c
@@ -31,16 +31,19 @@ void gensvm_copy_model(struct GenModel *from, struct GenModel *to)
case K_LINEAR:
break;
case K_POLY:
+ if (to->kernelparam) free(to->kernelparam);
to->kernelparam = Malloc(double, 3);
to->kernelparam[0] = from->kernelparam[0];
to->kernelparam[1] = from->kernelparam[1];
to->kernelparam[2] = from->kernelparam[2];
break;
case K_RBF:
+ if (to->kernelparam) free(to->kernelparam);
to->kernelparam = Malloc(double, 1);
to->kernelparam[0] = from->kernelparam[0];
break;
case K_SIGMOID:
+ if (to->kernelparam) free(to->kernelparam);
to->kernelparam = Malloc(double, 2);
to->kernelparam[0] = from->kernelparam[0];
to->kernelparam[1] = from->kernelparam[1];