[PATCH #37] Fixed crash when composing a complex scalar
This commit is contained in:
parent
97854d6ba1
commit
7887be31ff
|
|
@ -161,6 +161,9 @@ com_compose(wordlist *wl)
|
||||||
if (v->v_numdims < 2)
|
if (v->v_numdims < 2)
|
||||||
v->v_dims[0] = v->v_length;
|
v->v_dims[0] = v->v_length;
|
||||||
|
|
||||||
|
/* Init real flag according to type of first element */
|
||||||
|
realflag = !iscomplex(vecs);
|
||||||
|
|
||||||
for (v = vecs->v_link2, length = 1; v; v = v->v_link2) {
|
for (v = vecs->v_link2, length = 1; v; v = v->v_link2) {
|
||||||
i = v->v_numdims;
|
i = v->v_numdims;
|
||||||
if (i < 2)
|
if (i < 2)
|
||||||
|
|
@ -449,6 +452,7 @@ com_compose(wordlist *wl)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Create a vector with the data that was processed */
|
||||||
if (realflag) {
|
if (realflag) {
|
||||||
result = dvec_alloc(resname,
|
result = dvec_alloc(resname,
|
||||||
type,
|
type,
|
||||||
|
|
@ -461,8 +465,11 @@ com_compose(wordlist *wl)
|
||||||
length, cdata);
|
length, cdata);
|
||||||
}
|
}
|
||||||
|
|
||||||
resname = NULL; /* resname storage has been consumed */
|
/* The allocation for resname has been assigned to the result vector, so
|
||||||
|
* set to NULL so that it is not freed */
|
||||||
|
resname = NULL;
|
||||||
|
|
||||||
|
/* Set dimension info */
|
||||||
result->v_numdims = 1;
|
result->v_numdims = 1;
|
||||||
result->v_dims[0] = length;
|
result->v_dims[0] = length;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue