pipeline: fix memory free
authorCristian Dumitrescu <cristian.dumitrescu@intel.com>
Tue, 6 Oct 2020 20:37:52 +0000 (21:37 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Thu, 8 Oct 2020 13:09:25 +0000 (15:09 +0200)
Coverity issue: 362796, 362804, 362819, 362836, 362858, 362865, 362869
Fixes: 3ca60ceed7 ("pipeline: add SWX pipeline specification file")

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
lib/librte_pipeline/rte_swx_pipeline_spec.c

index 06e1ab4..a4bc822 100644 (file)
@@ -35,9 +35,17 @@ struct extobj_spec {
 static void
 extobj_spec_free(struct extobj_spec *s)
 {
+       if (!s)
+               return;
+
        free(s->name);
+       s->name = NULL;
+
        free(s->extern_type_name);
+       s->extern_type_name = NULL;
+
        free(s->pragma);
+       s->pragma = NULL;
 }
 
 static int
@@ -246,8 +254,14 @@ struct header_spec {
 static void
 header_spec_free(struct header_spec *s)
 {
+       if (!s)
+               return;
+
        free(s->name);
+       s->name = NULL;
+
        free(s->struct_type_name);
+       s->struct_type_name = NULL;
 }
 
 static int
@@ -297,7 +311,11 @@ struct metadata_spec {
 static void
 metadata_spec_free(struct metadata_spec *s)
 {
+       if (!s)
+               return;
+
        free(s->struct_type_name);
+       s->struct_type_name = NULL;
 }
 
 static int