Non ho controllato approfonditamente (anche perche' il codice non e' scritto chiaramente ... devi usare i tag [ CODE ] per inserirli nel forum ...) ma credo che questa

g->weight = (value **)calloc(g->num_vertices,sizeof(value));

dovrebbe essere

g->weight = (value **)calloc(g->num_vertices,sizeof(value *));