diff options
| author | Mohammed Rafi KC <rkavunga@redhat.com> | 2019-04-05 12:33:55 +0530 | 
|---|---|---|
| committer | Atin Mukherjee <amukherj@redhat.com> | 2019-04-15 06:06:02 +0000 | 
| commit | c27eee869f319fa2afbce31f1ab332d381015256 (patch) | |
| tree | 4d95e013e01bdfa57500e7c66ede776e7c06523a /libglusterfs/src | |
| parent | 8239efc76b56f1f4ce16bab263f7b355d8205820 (diff) | |
shd/mux: Fix coverity issues introduced by shd mux patch
CID 1400475:  Null pointer dereferences  (FORWARD_NULL)
CID 1400474:  Null pointer dereferences  (FORWARD_NULL)
CID 1400471:  Code maintainability issues  (UNUSED_VALUE)
CID 1400470:  Null pointer dereferences  (FORWARD_NULL)
CID 1400469:  Memory - illegal accesses  (USE_AFTER_FREE)
CID 1400467:  Code maintainability issues  (UNUSED_VALUE)
Change-Id: I0ca1c733be335c6e5844f44850f8066626ac40d4
updates: bz#789278
Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
Diffstat (limited to 'libglusterfs/src')
| -rw-r--r-- | libglusterfs/src/graph.c | 21 | 
1 files changed, 13 insertions, 8 deletions
diff --git a/libglusterfs/src/graph.c b/libglusterfs/src/graph.c index 74b568441af..85b470dfeaa 100644 --- a/libglusterfs/src/graph.c +++ b/libglusterfs/src/graph.c @@ -1461,7 +1461,9 @@ glusterfs_process_svc_detach(glusterfs_ctx_t *ctx, gf_volfile_t *volfile_obj)          goto out;      parent_graph = ctx->active;      graph = volfile_obj->graph; -    if (graph && graph->first) +    if (!graph) +        goto out; +    if (graph->first)          xl = graph->first;      last_xl = graph->last_xl; @@ -1582,12 +1584,10 @@ glusterfs_process_svc_attach_volfp(glusterfs_ctx_t *ctx, FILE *fp,      parent_graph->leaf_count += graph->leaf_count;      parent_graph->id++; +    volfile_obj = GF_CALLOC(1, sizeof(gf_volfile_t), gf_common_volfile_t);      if (!volfile_obj) { -        volfile_obj = GF_CALLOC(1, sizeof(gf_volfile_t), gf_common_volfile_t); -        if (!volfile_obj) { -            ret = -1; -            goto out; -        } +        ret = -1; +        goto out;      }      graph->used = 1; @@ -1632,6 +1632,7 @@ glusterfs_mux_volfile_reconfigure(FILE *newvolfile_fp, glusterfs_ctx_t *ctx,  {      glusterfs_graph_t *oldvolfile_graph = NULL;      glusterfs_graph_t *newvolfile_graph = NULL; +    char vol_id[NAME_MAX + 1];      int ret = -1; @@ -1663,6 +1664,9 @@ glusterfs_mux_volfile_reconfigure(FILE *newvolfile_fp, glusterfs_ctx_t *ctx,      glusterfs_graph_prepare(newvolfile_graph, ctx, newvolfile_graph->first);      if (!is_graph_topology_equal(oldvolfile_graph, newvolfile_graph)) { +        ret = snprintf(vol_id, sizeof(vol_id), "%s", volfile_obj->vol_id); +        if (ret < 0) +            goto out;          ret = glusterfs_process_svc_detach(ctx, volfile_obj);          if (ret) {              gf_msg("glusterfsd-mgmt", GF_LOG_ERROR, EINVAL, @@ -1671,8 +1675,9 @@ glusterfs_mux_volfile_reconfigure(FILE *newvolfile_fp, glusterfs_ctx_t *ctx,                     "old graph. Aborting the reconfiguration operation");              goto out;          } -        ret = glusterfs_process_svc_attach_volfp(ctx, newvolfile_fp, -                                                 volfile_obj->vol_id, checksum); +        volfile_obj = NULL; +        ret = glusterfs_process_svc_attach_volfp(ctx, newvolfile_fp, vol_id, +                                                 checksum);          goto out;      }  | 
