libprelude/master: Proper argument checking on Python and Ruby left/right IDMEF shift.

[email protected] Tue, 16 Jun 2009 14:08:21 +0200 (CEST)
Newsgroups gmane.comp.security.ids.prelude.cvs
Message-ID <[email protected]>
commit dcf5f25fc100e9831b959f2af47fd7a7a974166b
Author: Yoann Vandoorselaere <[email protected]>
Date:   Tue Jun 16 13:24:19 2009 +0200

    Proper argument checking on Python and Ruby left/right IDMEF shift.
    
    Ruby and Python bindings were not properly checking whether the
    argument was a file descriptor in case the left/right shift IDMEF
    operator were used.


========================================

 bindings/python/libpreludecpp-python.i |    8 ++++----
 bindings/ruby/libpreludecpp-ruby.i     |    9 ++++-----
 2 files changed, 8 insertions(+), 9 deletions(-)

========================================

diff --git a/bindings/python/libpreludecpp-python.i b/bindings/python/libpreludecpp-python.i
index ca05017..d8f9e02 100644
--- a/bindings/python/libpreludecpp-python.i
+++ b/bindings/python/libpreludecpp-python.i
@@ -69,13 +69,13 @@ static ssize_t _cb_python_read(prelude_io_t *fd, void *buf, size_t size)
                 self->_genericRead(_cb_python_read, nocast_file_p);
         }
 
-        Prelude::IDMEF &operator >> (PyObject *o) {
-                self->_genericWrite(_cb_python_write, o);
+        Prelude::IDMEF &operator >> (void *nocast_file_p) {
+                self->_genericWrite(_cb_python_write, nocast_file_p);
                 return *self;
         }
 
-        Prelude::IDMEF &operator << (PyObject *o) {
-                self->_genericRead(_cb_python_read, o);
+        Prelude::IDMEF &operator << (void *nocast_file_p) {
+                self->_genericRead(_cb_python_read, nocast_file_p);
                 return *self;
         }
 }
diff --git a/bindings/ruby/libpreludecpp-ruby.i b/bindings/ruby/libpreludecpp-ruby.i
index 3ec3199..d533b91 100644
--- a/bindings/ruby/libpreludecpp-ruby.i
+++ b/bindings/ruby/libpreludecpp-ruby.i
@@ -30,7 +30,6 @@ static int _cb_ruby_write(prelude_msgbuf_t *fd, prelude_msg_t *msg)
         ssize_t ret;
         OpenFile *fptr;
         VALUE *io = (VALUE *) prelude_msgbuf_get_data(fd);
-        VALUE v = rb_tainted_str_new((const char *) prelude_msg_get_message_data(msg), prelude_msg_get_len(msg));
 
         GetOpenFile(*io, fptr);
         f = fptr->f;
@@ -77,13 +76,13 @@ static ssize_t _cb_ruby_read(prelude_io_t *fd, void *buf, size_t size)
                 self->_genericRead(_cb_ruby_read, nocast_p);
         }
 
-        Prelude::IDMEF &operator >> (VALUE o) {
-                self->_genericWrite(_cb_ruby_write, &o);
+        Prelude::IDMEF &operator >> (void *nocast_p) {
+                self->_genericWrite(_cb_ruby_write, nocast_p);
                 return *self;
         }
 
-        Prelude::IDMEF &operator << (VALUE o) {
-                self->_genericRead(_cb_ruby_read, &o);
+        Prelude::IDMEF &operator << (void *nocast_p) {
+                self->_genericRead(_cb_ruby_read, nocast_p);
                 return *self;
         }
 }
_______________________________________________
Prelude-cvslog site list
[email protected]
http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog