Unverified Commit 8a4ccb01 authored by Binbin's avatar Binbin Committed by GitHub
Browse files

Fix clusterLoadConfig aux_argv minor memory leak (#12726)

We forgot to call sdsfreesplitres. This is just a cleanup since it will
only be leaked in the error paths, and we will exit on the error paths.
parent 91309f79
...@@ -437,6 +437,7 @@ int clusterLoadConfig(char *filename) { ...@@ -437,6 +437,7 @@ int clusterLoadConfig(char *filename) {
if (field_argv == NULL || field_argc != 2) { if (field_argv == NULL || field_argc != 2) {
/* Invalid aux field format */ /* Invalid aux field format */
if (field_argv != NULL) sdsfreesplitres(field_argv, field_argc); if (field_argv != NULL) sdsfreesplitres(field_argv, field_argc);
sdsfreesplitres(aux_argv, aux_argc);
sdsfreesplitres(argv,argc); sdsfreesplitres(argv,argc);
goto fmterr; goto fmterr;
} }
...@@ -446,6 +447,7 @@ int clusterLoadConfig(char *filename) { ...@@ -446,6 +447,7 @@ int clusterLoadConfig(char *filename) {
if (!isValidAuxString(field_argv[j],sdslen(field_argv[j]))){ if (!isValidAuxString(field_argv[j],sdslen(field_argv[j]))){
/* Invalid aux field format */ /* Invalid aux field format */
sdsfreesplitres(field_argv, field_argc); sdsfreesplitres(field_argv, field_argc);
sdsfreesplitres(aux_argv, aux_argc);
sdsfreesplitres(argv,argc); sdsfreesplitres(argv,argc);
goto fmterr; goto fmterr;
} }
...@@ -465,6 +467,7 @@ int clusterLoadConfig(char *filename) { ...@@ -465,6 +467,7 @@ int clusterLoadConfig(char *filename) {
if (auxFieldHandlers[j].setter(n, field_argv[1], sdslen(field_argv[1])) != C_OK) { if (auxFieldHandlers[j].setter(n, field_argv[1], sdslen(field_argv[1])) != C_OK) {
/* Invalid aux field format */ /* Invalid aux field format */
sdsfreesplitres(field_argv, field_argc); sdsfreesplitres(field_argv, field_argc);
sdsfreesplitres(aux_argv, aux_argc);
sdsfreesplitres(argv,argc); sdsfreesplitres(argv,argc);
goto fmterr; goto fmterr;
} }
...@@ -473,6 +476,7 @@ int clusterLoadConfig(char *filename) { ...@@ -473,6 +476,7 @@ int clusterLoadConfig(char *filename) {
if (field_found == 0) { if (field_found == 0) {
/* Invalid aux field format */ /* Invalid aux field format */
sdsfreesplitres(field_argv, field_argc); sdsfreesplitres(field_argv, field_argc);
sdsfreesplitres(aux_argv, aux_argc);
sdsfreesplitres(argv,argc); sdsfreesplitres(argv,argc);
goto fmterr; goto fmterr;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment