From: Miod Vallat Date: Mon, 22 Sep 2025 06:30:09 +0000 (+0200) Subject: Remove extra field added in e9755ed87f1d11453e08c23404f11ac1883b27f4... X-Git-Tag: auth-4.9.9^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=daffafa5c0ec00894acad310078dc4e756b6fbfc;p=thirdparty%2Fpdns.git Remove extra field added in e9755ed87f1d11453e08c23404f11ac1883b27f4... ...and use LenPtr for that purpose instead. Gets rid of Coverity complaining about structs no longer being fully initialized. Signed-off-by: Miod Vallat (cherry picked from commit e4919a768faa5893c4023c831cb5e09b1043bf4c) --- diff --git a/modules/godbcbackend/sodbc.cc b/modules/godbcbackend/sodbc.cc index c56cc0152..a2e514b48 100644 --- a/modules/godbcbackend/sodbc.cc +++ b/modules/godbcbackend/sodbc.cc @@ -85,7 +85,6 @@ public: SQLLEN* LenPtr; SQLSMALLINT ParameterType; SQLSMALLINT ValueType; - size_t ParameterAllocSize; // size allocated for ParameterValuePtr, if ParameterType == SQL_INTEGER }; vector d_req_bind; @@ -145,7 +144,6 @@ public: p.LenPtr = new SQLLEN{sizeof(UDWORD)}; p.ParameterType = SQL_INTEGER; p.ValueType = SQL_INTEGER; - p.ParameterAllocSize = sizeof(UDWORD); return bind(name, p); } @@ -157,7 +155,6 @@ public: p.LenPtr = new SQLLEN{sizeof(ULONG)}; p.ParameterType = SQL_INTEGER; p.ValueType = SQL_INTEGER; - p.ParameterAllocSize = sizeof(ULONG); return bind(name, p); } @@ -185,8 +182,7 @@ public: p.ParameterValuePtr = (char*)new char[value.size() + 1]; value.copy((char*)p.ParameterValuePtr, value.size()); ((char*)p.ParameterValuePtr)[value.size()] = 0; - p.LenPtr = new SQLLEN; - *(p.LenPtr) = value.size(); + p.LenPtr = new SQLLEN{static_cast(value.size())}; p.ParameterType = SQL_VARCHAR; p.ValueType = SQL_C_CHAR; @@ -202,8 +198,7 @@ public: ODBCParam p; p.ParameterValuePtr = NULL; - p.LenPtr = new SQLLEN; - *(p.LenPtr) = SQL_NULL_DATA; + p.LenPtr = new SQLLEN{SQL_NULL_DATA}; p.ParameterType = SQL_VARCHAR; p.ValueType = SQL_C_CHAR; @@ -270,7 +265,7 @@ public: delete[] static_cast(i.ParameterValuePtr); } else if (i.ParameterType == SQL_INTEGER) { - if (i.ParameterAllocSize == sizeof(UDWORD)) { + if (*i.LenPtr == sizeof(UDWORD)) { delete static_cast(i.ParameterValuePtr); } else {