Update of /cvsroot/monetdb/pathfinder/compiler/include
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv5910/compiler/include
Modified Files:
oops.h
Log Message:
[ 1607210 ] XQ: server-side compilation crash (member benchmark)
- introduced a stack fence that aborts too deep recursion
only enabled in embedded mode (to keep Mserver alive on bad queries)
Index: oops.h
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/include/oops.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- oops.h 3 Jan 2007 12:32:50 -0000 1.13
+++ oops.h 25 May 2007 21:55:20 -0000 1.14
@@ -39,6 +39,7 @@
*/
#define OOPS_SIZE 4096
extern char PFerrbuf[OOPS_SIZE];
+extern char* PFmaxstack;
/**
* exit compilation (not necessarily the entire process)
@@ -85,6 +86,11 @@
#define PFoops(rc,...) \
PFoops_ ((rc), __FILE__, __func__, __LINE__, __VA_ARGS__)
+#define PFrecursion_fence() {\
+ char dummy = 0; (void) dummy;\
+ if (PFmaxstack && (&dummy > PFmaxstack)) PFoops(OOPS_FATAL, "aborted too
deep recursion");\
+}
+
void PFoops_ (PFrc_t,
const char*, const char*, const int,
const char *, ...)
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins