summaryrefslogtreecommitdiffstats
path: root/staptree.h
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2009-06-25 11:50:47 -0400
committerDave Brolley <brolley@redhat.com>2009-06-25 11:50:47 -0400
commit313db8e6d1e62f372d168b7368f220cb432d07d6 (patch)
tree54fdfdbc16b25dfab4e7b3b025971e4adf420e7d /staptree.h
parentf75b6811dee35832309e55a9e3455c40d4c13437 (diff)
downloadsystemtap-steved-313db8e6d1e62f372d168b7368f220cb432d07d6.tar.gz
systemtap-steved-313db8e6d1e62f372d168b7368f220cb432d07d6.tar.xz
systemtap-steved-313db8e6d1e62f372d168b7368f220cb432d07d6.zip
Disallow embedded C in tapset functions ifor unprivileged users unless tagged by /* unprivileged */.
Diffstat (limited to 'staptree.h')
-rw-r--r--staptree.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/staptree.h b/staptree.h
index 7e9506bb..7cf482c1 100644
--- a/staptree.h
+++ b/staptree.h
@@ -23,6 +23,8 @@ extern "C" {
}
struct token; // parse.h
+struct systemtap_session; // session.h
+
struct semantic_error: public std::runtime_error
{
const token* tok1;
@@ -752,12 +754,14 @@ struct functioncall_traversing_visitor: public traversing_visitor
// the elaboration-time optimizer pass.
struct varuse_collecting_visitor: public functioncall_traversing_visitor
{
+ systemtap_session& session;
std::set<vardecl*> read;
std::set<vardecl*> written;
bool embedded_seen;
expression* current_lvalue;
expression* current_lrvalue;
- varuse_collecting_visitor():
+ varuse_collecting_visitor(systemtap_session& s):
+ session (s),
embedded_seen (false),
current_lvalue(0),
current_lrvalue(0) {}