ASAN error in CONNECT engine
don't strcpy a string to itself
This commit is contained in:
parent
2ed882f9c4
commit
a2de604309
@ -1627,6 +1627,12 @@ int TYPVAL<PSZ>::CompareValue(PVAL vp)
|
|||||||
return (n > 0) ? 1 : (n < 0) ? -1 : 0;
|
return (n > 0) ? 1 : (n < 0) ? -1 : 0;
|
||||||
} // end of CompareValue
|
} // end of CompareValue
|
||||||
|
|
||||||
|
static inline void v_strcpy(char *dest, const char *src)
|
||||||
|
{
|
||||||
|
if (dest != src)
|
||||||
|
strcpy(dest, src);
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************/
|
/***********************************************************************/
|
||||||
/* Compute a function on a string. */
|
/* Compute a function on a string. */
|
||||||
/***********************************************************************/
|
/***********************************************************************/
|
||||||
@ -1651,11 +1657,11 @@ bool TYPVAL<PSZ>::Compute(PGLOBAL g, PVAL *vp, int np, OPVAL op)
|
|||||||
break;
|
break;
|
||||||
case OP_MIN:
|
case OP_MIN:
|
||||||
assert(np == 2);
|
assert(np == 2);
|
||||||
strcpy(Strp, (strcmp(p[0], p[1]) < 0) ? p[0] : p[1]);
|
v_strcpy(Strp, (strcmp(p[0], p[1]) < 0) ? p[0] : p[1]);
|
||||||
break;
|
break;
|
||||||
case OP_MAX:
|
case OP_MAX:
|
||||||
assert(np == 2);
|
assert(np == 2);
|
||||||
strcpy(Strp, (strcmp(p[0], p[1]) > 0) ? p[0] : p[1]);
|
v_strcpy(Strp, (strcmp(p[0], p[1]) > 0) ? p[0] : p[1]);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// sprintf(g->Message, MSG(BAD_EXP_OPER), op);
|
// sprintf(g->Message, MSG(BAD_EXP_OPER), op);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user