diff options
Diffstat (limited to 'dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch')
-rw-r--r-- | dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch b/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch deleted file mode 100644 index d2f0669d24fa..000000000000 --- a/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch +++ /dev/null @@ -1,182 +0,0 @@ ---- a/session.cpp -+++ b/session.cpp -@@ -131,7 +131,7 @@ - throw CursorException("Cursor is not opened"); - } - fillBuffer(sizeof(oid_t)); -- oid_t currOid = *(oid_t*)&sockBuf[bufPos]; -+ oid_t currOid = *(oid_t*)(sockBuf + bufPos); - bufPos += sizeof(oid_t); - if (currObj != NULL) { - delete[] currObj; -@@ -139,7 +139,7 @@ - } - if (currOid != 0) { - fillBuffer(sizeof(int)); -- size_t size = *(int*)&sockBuf[bufPos]; -+ size_t size = *(int*)(sockBuf + bufPos); - if (size <= SOCKET_BUFFER_SIZE) { - fillBuffer(size); - if (record != NULL) { ---- a/database.cpp -+++ b/database.cpp -@@ -739,40 +739,55 @@ - return; - - case dbvmInvokeMethodBool: -- execute(expr->ref.base, iattr, sattr); -- expr->ref.field->method->invoke(sattr.base, &sattr.bvalue); -- sattr.bvalue = *(bool*)&sattr.bvalue; -- iattr.free(sattr); -- return; -+ { -+ bool val; -+ execute(expr->ref.base, iattr, sattr); -+ expr->ref.field->method->invoke(sattr.base, &val); -+ sattr.bvalue = val; -+ iattr.free(sattr); -+ return; -+ } - case dbvmInvokeMethodInt1: -- execute(expr->ref.base, iattr, sattr); -- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue); -- sattr.ivalue = *(int1*)&sattr.ivalue; -- iattr.free(sattr); -- return; -+ { -+ int1 val; -+ execute(expr->ref.base, iattr, sattr); -+ expr->ref.field->method->invoke(sattr.base, &val); -+ sattr.ivalue = val; -+ iattr.free(sattr); -+ return; -+ } - case dbvmInvokeMethodInt2: -- execute(expr->ref.base, iattr, sattr); -- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue); -- sattr.ivalue = *(int2*)&sattr.ivalue; -- iattr.free(sattr); -- return; -+ { -+ int2 val; -+ execute(expr->ref.base, iattr, sattr); -+ expr->ref.field->method->invoke(sattr.base, &val); -+ sattr.ivalue = val; -+ iattr.free(sattr); -+ return; -+ } - case dbvmInvokeMethodInt4: -- execute(expr->ref.base, iattr, sattr); -- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue); -- sattr.ivalue = *(int4*)&sattr.ivalue; -- iattr.free(sattr); -- return; -+ { -+ int4 val; -+ execute(expr->ref.base, iattr, sattr); -+ expr->ref.field->method->invoke(sattr.base, &val); -+ sattr.ivalue = val; -+ iattr.free(sattr); -+ return; -+ } - case dbvmInvokeMethodInt8: - execute(expr->ref.base, iattr, sattr); - expr->ref.field->method->invoke(sattr.base, &sattr.ivalue); - iattr.free(sattr); - return; - case dbvmInvokeMethodReal4: -- execute(expr->ref.base, iattr, sattr); -- expr->ref.field->method->invoke(sattr.base, &sattr.fvalue); -- sattr.fvalue = *(real4*)&sattr.fvalue; -- iattr.free(sattr); -- return; -+ { -+ real4 val; -+ execute(expr->ref.base, iattr, sattr); -+ expr->ref.field->method->invoke(sattr.base, &val); -+ sattr.fvalue = val; -+ iattr.free(sattr); -+ return; -+ } - case dbvmInvokeMethodReal8: - execute(expr->ref.base, iattr, sattr); - expr->ref.field->method->invoke(sattr.base, &sattr.fvalue); -@@ -792,28 +807,43 @@ - return; - - case dbvmInvokeSelfMethodBool: -- expr->ref.field->method->invoke(iattr.record, &sattr.bvalue); -- sattr.bvalue = *(bool*)&sattr.bvalue; -- return; -+ { -+ bool val; -+ expr->ref.field->method->invoke(iattr.record, &val); -+ sattr.bvalue = val; -+ return; -+ } - case dbvmInvokeSelfMethodInt1: -- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue); -- sattr.ivalue = *(int1*)&sattr.ivalue; -- return; -+ { -+ int1 val; -+ expr->ref.field->method->invoke(iattr.record, &val); -+ sattr.ivalue = val; -+ return; -+ } - case dbvmInvokeSelfMethodInt2: -- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue); -- sattr.ivalue = *(int2*)&sattr.ivalue; -- return; -+ { -+ int2 val; -+ expr->ref.field->method->invoke(iattr.record, &val); -+ sattr.ivalue = val; -+ return; -+ } - case dbvmInvokeSelfMethodInt4: -- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue); -- sattr.ivalue = *(int4*)&sattr.ivalue; -- return; -+ { -+ int4 val; -+ expr->ref.field->method->invoke(iattr.record, &val); -+ sattr.ivalue = val; -+ return; -+ } - case dbvmInvokeSelfMethodInt8: - expr->ref.field->method->invoke(iattr.record, &sattr.ivalue); - return; - case dbvmInvokeSelfMethodReal4: -- expr->ref.field->method->invoke(iattr.record, &sattr.fvalue); -- sattr.fvalue = *(real4*)&sattr.fvalue; -- return; -+ { -+ real4 val; -+ expr->ref.field->method->invoke(iattr.record, &val); -+ sattr.fvalue = *(real4*)&sattr.fvalue; -+ return; -+ } - case dbvmInvokeSelfMethodReal8: - expr->ref.field->method->invoke(iattr.record, &sattr.fvalue); - return; ---- a/server.cpp -+++ b/server.cpp -@@ -2097,7 +2097,7 @@ - bufUsed = 0; - } - oid_t oid = cursor.getOid(); -- *(oid_t*)&buf[bufUsed] = oid; -+ *(oid_t*)(buf + bufUsed) = oid; - bufUsed += sizeof(oid_t); - dbRecord* record = db->getRow(tie, oid); - size_t size = record->size; -@@ -2129,7 +2129,7 @@ - bufUsed = 0; - } - } -- *(oid_t*)&buf[bufUsed] = 0; -+ *(oid_t*)(buf + bufUsed) = 0; - return session->sock->write(buf, bufUsed + sizeof(oid_t)); - } - |