Commit 81e5c5db authored by Olivier Bertrand's avatar Olivier Bertrand

- Fix length when TYPVAL::SetValue_char is called from MYSQLCOL::ReadColumn.

modified:
  storage/connect/tabmysql.cpp
  storage/connect/value.cpp
parent 9bd94d7f
...@@ -1232,7 +1232,7 @@ void MYSQLCOL::ReadColumn(PGLOBAL g) ...@@ -1232,7 +1232,7 @@ void MYSQLCOL::ReadColumn(PGLOBAL g)
if (trace) if (trace)
htrc("MySQL ReadColumn: name=%s buf=%s\n", Name, buf); htrc("MySQL ReadColumn: name=%s buf=%s\n", Name, buf);
Value->SetValue_char(buf, Long); Value->SetValue_char(buf, min((unsigned)Long, strlen(buf)));
} else { } else {
if (Nullable) if (Nullable)
Value->SetNull(true); Value->SetNull(true);
......
...@@ -579,12 +579,12 @@ template <> ...@@ -579,12 +579,12 @@ template <>
void TYPVAL<double>::SetValue_char(char *p, int n) void TYPVAL<double>::SetValue_char(char *p, int n)
{ {
if (p) { if (p) {
char *p2, buf[32]; char buf[32];
for (p2 = p + n; p < p2 && *p == ' '; p++) ; for (; n > 0 && *p == ' '; p++)
n--;
n = min(p2 - p, 31); memcpy(buf, p, min(n, 31));
memcpy(buf, p, n);
buf[n] = '\0'; buf[n] = '\0';
Tval = atof(buf); Tval = atof(buf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment