Bug#8070

corrected possible unalignment in NdbRecAttr access methods
parent 2f6e0864
...@@ -304,7 +304,9 @@ inline ...@@ -304,7 +304,9 @@ inline
Int64 Int64
NdbRecAttr::int64_value() const NdbRecAttr::int64_value() const
{ {
return *(Int64*)theRef; Int64 val;
memcpy(&val,theRef,8);
return val;
} }
inline inline
...@@ -332,7 +334,9 @@ inline ...@@ -332,7 +334,9 @@ inline
Uint64 Uint64
NdbRecAttr::u_64_value() const NdbRecAttr::u_64_value() const
{ {
return *(Uint64*)theRef; Uint64 val;
memcpy(&val,theRef,8);
return val;
} }
inline inline
...@@ -360,14 +364,18 @@ inline ...@@ -360,14 +364,18 @@ inline
float float
NdbRecAttr::float_value() const NdbRecAttr::float_value() const
{ {
return *(float*)theRef; float val;
memcpy(&val,theRef,sizeof(val));
return val;
} }
inline inline
double double
NdbRecAttr::double_value() const NdbRecAttr::double_value() const
{ {
return *(double*)theRef; double val;
memcpy(&val,theRef,sizeof(val));
return val;
} }
inline inline
......
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