@@ -52,7 +52,7 @@ void idris_setBufferInt(void* buffer, int loc, int val) {
52void idris_setBufferDouble(void* buffer, int loc, double val) {
52void idris_setBufferDouble(void* buffer, int loc, double val) {
53 Buffer* b = buffer;
53 Buffer* b = buffer;
54 // I am not proud of this
54 // I am not proud of this
55− if (loc >= 0 && loc + sizeof(double) < b->size) {
55+ if (loc >= 0 && loc + sizeof(double) <= b->size) {
56 unsigned char* c = (unsigned char*)(& val);
56 unsigned char* c = (unsigned char*)(& val);
57 for (int i = 0; i < sizeof(double); ++i) {
57 for (int i = 0; i < sizeof(double); ++i) {
58 b->data[loc+i] = c[i];
58 b->data[loc+i] = c[i];
@@ -95,7 +95,7 @@ double idris_getBufferDouble(void* buffer, int loc) {
96 // I am even less proud of this
96 // I am even less proud of this
97 unsigned char *c = (unsigned char*)(& d);
97 unsigned char *c = (unsigned char*)(& d);
98− if (loc >= 0 && loc + sizeof(double) < b->size) {
98+ if (loc >= 0 && loc + sizeof(double) <= b->size) {
99 for (int i = 0; i < sizeof(double); ++i) {
99 for (int i = 0; i < sizeof(double); ++i) {
100 c[i] = b->data[loc+i];
100 c[i] = b->data[loc+i];