summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch182
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));
- }
-