[vlc-devel] commit: mozilla: don't allocate a zero sized array.. (Jean-Paul Saman )

git version control git at videolan.org
Sun Jun 14 20:09:10 CEST 2009


vlc | branch: 1.0-bugfix | Jean-Paul Saman <jpsaman at videolan.org> | Sun Jun 14 00:09:45 2009 +0200| [aed48363a478e9767a374154d703d7c84857707b] | committer: Jean-Paul Saman 

mozilla: don't allocate a zero sized array..

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=aed48363a478e9767a374154d703d7c84857707b
---

 projects/mozilla/control/npolibvlc.cpp |   28 +++++++++++++++++++++++++++-
 projects/mozilla/control/npolibvlc.h   |    2 ++
 2 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/projects/mozilla/control/npolibvlc.cpp b/projects/mozilla/control/npolibvlc.cpp
index c2a40f4..a647852 100644
--- a/projects/mozilla/control/npolibvlc.cpp
+++ b/projects/mozilla/control/npolibvlc.cpp
@@ -538,10 +538,33 @@ LibvlcInputNPObject::setProperty(int index, const NPVariant &value)
 const NPUTF8 * const LibvlcInputNPObject::methodNames[] =
 {
     /* no methods */
+    "none",
 };
-
 COUNTNAMES(LibvlcInputNPObject,methodCount,methodNames);
 
+enum LibvlcInputNPObjectMethodIds
+{
+    ID_none,
+};
+
+RuntimeNPObject::InvokeResult
+LibvlcInputNPObject::invoke(int index, const NPVariant *args,
+                                    uint32_t argCount, NPVariant &result)
+{
+    /* is plugin still running */
+    if( isPluginRunning() )
+    {
+        switch( index )
+        {
+            case ID_none:
+                return INVOKERESULT_NO_SUCH_METHOD;
+            default:
+                ;
+        }
+    }
+    return INVOKERESULT_GENERIC_ERROR;
+}
+
 /*
 ** implementation of libvlc playlist items object
 */
@@ -754,6 +777,9 @@ LibvlcPlaylistNPObject::invoke(int index, const NPVariant *args,
                 char *url = NULL;
 
                 // grab URL
+                if( NPVARIANT_IS_NULL(args[0]) )
+                    return INVOKERESULT_NO_SUCH_METHOD;
+
                 if( NPVARIANT_IS_STRING(args[0]) )
                 {
                     char *s = stringValue(NPVARIANT_TO_STRING(args[0]));
diff --git a/projects/mozilla/control/npolibvlc.h b/projects/mozilla/control/npolibvlc.h
index 3a68b52..1ba7c91 100644
--- a/projects/mozilla/control/npolibvlc.h
+++ b/projects/mozilla/control/npolibvlc.h
@@ -97,6 +97,8 @@ protected:
 
     static const int methodCount;
     static const NPUTF8 * const methodNames[];
+
+    InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
 };
 
 class LibvlcPlaylistItemsNPObject: public RuntimeNPObject




More information about the vlc-devel mailing list