Package: gnash
Version: 0.7.1-1+rmh
Severity: normal
Tags: patch upstream

The command-line parser refuses to add files of the form "a=b.swf", because
they collide with variable assignment feature:

// get the file name from the command line
while (optind < argc) {
// Some options set variables, like ip=127.0.0.1
if (strchr(argv[optind], '=')) {
dbglogfile << "Got variable option on command line!" << endl;
} else {
infiles.push_back(argv[optind]);
}
optind++;
}

However, these files are pretty common. Think of, say,
"/tmp/fetch.php?file=animation.swf". This file will be generated by the
browser/plugin but when gnash is invoked it won't play it.

According to upstream, it's safe to remove this strchr check:

  http://savannah.gnu.org/bugs/?func=detailitem&item_id=17467

So this is what attached patch does.

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-1-amd64-k8
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_US.UTF-8)

Versions of packages gnash depends on:
ii  libatk1.0-0                1.12.1-1      The ATK accessibility toolkit
ii  libc6                      2.3.6-15      GNU C Library: Shared libraries
ii  libcairo2                  1.2.0-3       The Cairo 2D vector graphics libra
ii  libfontconfig1             2.3.2-7       generic font configuration library
ii  libgcc1                    1:4.1.1-5     GCC support library
ii  libgl1-mesa-glx [libgl1]   6.4.2-1       A free implementation of the OpenG
ii  libglib2.0-0               2.10.3-3      The GLib library of C routines
ii  libglu1-mesa [libglu1]     6.4.2-1       The OpenGL utility library (GLU)
ii  libgnash0                  0.7.1-1+rmh   free Flash movie player - shared l
ii  libgtk2.0-0                2.8.18-1      The GTK+ graphical user interface 
ii  libgtkglext1               1.0.6-2.1+b1  OpenGL Extension to GTK (shared li
ii  libice6                    1:1.0.0-3     X11 Inter-Client Exchange library
ii  libjpeg62                  6b-13         The Independent JPEG Group's JPEG 
ii  libmad0                    0.15.1b-2.1   MPEG audio decoder library
ii  libncurses5                5.5-2         Shared libraries for terminal hand
ii  libogg0                    1.1.3-2       Ogg Bitstream Library
ii  libpango1.0-0              1.12.3-1+b1   Layout and rendering of internatio
ii  libpng12-0                 1.2.8rel-5.2  PNG library - runtime
ii  libsdl-mixer1.2            1.2.6-1.1     mixer library for Simple DirectMed
ii  libsdl1.2debian            1.2.10-3      Simple DirectMedia Layer
ii  libslang2                  2.0.6-2       The S-Lang programming library - r
ii  libsm6                     1:1.0.0-4     X11 Session Management library
ii  libstdc++6                 4.1.1-5       The GNU Standard C++ Library v3
ii  libsvga1                   1:1.4.3-23    console SVGA display libraries
ii  libx11-6                   2:1.0.0-7     X11 client-side library
ii  libxcursor1                1.1.5.2-5     X cursor management library
ii  libxext6                   1:1.0.0-4     X11 miscellaneous extension librar
ii  libxfixes3                 1:3.0.1.2-4   X11 miscellaneous 'fixes' extensio
ii  libxi6                     1:1.0.0-5     X11 Input extension library
ii  libxinerama1               1:1.0.1-4     X11 Xinerama extension library
ii  libxml2                    2.6.26.dfsg-3 GNOME XML library
ii  libxmu6                    1:1.0.1-3     X11 miscellaneous utility library
ii  libxrandr2                 2:1.1.0.2-4   X11 RandR extension library
ii  libxrender1                1:0.9.0.2-4   X Rendering Extension client libra
ii  libxt6                     1:1.0.0-5     X11 toolkit intrinsics library
ii  zlib1g                     1:1.2.3-13    compression library - runtime

gnash recommends no packages.

-- no debconf information
diff -ur gnash-0.7.1.old/backend/gnash.cpp gnash-0.7.1/backend/gnash.cpp
--- gnash-0.7.1.old/backend/gnash.cpp	2006-08-18 22:21:21.000000000 +0200
+++ gnash-0.7.1/backend/gnash.cpp	2006-08-19 13:48:14.000000000 +0200
@@ -350,12 +350,7 @@
     
     // get the file name from the command line
     while (optind < argc) {
-        // Some options set variables, like ip=127.0.0.1
-        if (strchr(argv[optind], '=')) {
-            dbglogfile << "Got variable option on command line!" << endl;
-        } else {
-            infiles.push_back(argv[optind]);
-        }
+        infiles.push_back(argv[optind]);
 	optind++;
     }
 
diff -ur gnash-0.7.1.old/plugin/klash/klash.cpp gnash-0.7.1/plugin/klash/klash.cpp
--- gnash-0.7.1.old/plugin/klash/klash.cpp	2006-04-25 19:14:23.000000000 +0200
+++ gnash-0.7.1/plugin/klash/klash.cpp	2006-08-19 13:49:33.000000000 +0200
@@ -377,12 +377,7 @@
     
     // get the file name from the command line
     while (optind < argc) {
-        // Some options set variables, like ip=127.0.0.1
-        if (strchr(argv[optind], '=')) {
-            dbglogfile << "Got variable option on command line!" << endl;
-        } else {
-            infiles.push_back(argv[optind]);
-        }
+        infiles.push_back(argv[optind]);
 	optind++;
     }
 

Reply via email to