Package: gob2
Version: 2.0.14-1
Severity: normal
Tags: patch

Hi,

I have noticed that running gob2 with the attached testfile.gob results
in a segmentation fault.    Please see attached patch.

Here is the record of a session demonstrating the bug captured using script.

--
Script started on Mon 24 Sep 2007 03:24:52 PM PDT
%                                                                              
zsh\_screen  (t) | [EMAIL 
PROTECTED]:~/rlc/projects/complearn/mod-ppmdx/src/tst/debsup | 80x24 | 
pts/3\T-([EMAIL 
PROTECTED]:pts/3)---(~/rlc/projects/complearn/mod-ppmdx/src/tst/debsup)-+
L-(15:24:%)-- gob   cat testfile.gob &&     && gob2 testfile.gob
cat\%{
#include <a/b"
%}
zsh: segmentation fault  gob2 testfile.gob
%                                                                              
zsh\_screen  (t) | [EMAIL 
PROTECTED]:~/rlc/projects/complearn/mod-ppmdx/src/tst/debsup | 80x24 | 
pts/3\T-([EMAIL 
PROTECTED]:pts/3)---(~/rlc/projects/complearn/mod-ppmdx/src/tst/debsup)-+
L-(139:15:25:%)--

Script done on Mon 24 Sep 2007 03:25:07 PM PDT

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.18-4-686 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages gob2 depends on:
ii  libc6                         2.6.1-1+b1 GNU C Library: Shared libraries
ii  libglib2.0-0                  2.14.0-2   The GLib library of C routines

gob2 recommends no packages.

-- no debconf information
%{
#include <a/b"
%}
diff -Nru gob2-2.0.14/src/lexer.l newgob2-2.0.14/src/lexer.l
--- gob2-2.0.14/src/lexer.l     2007-09-24 15:10:51.000000000 -0700
+++ newgob2-2.0.14/src/lexer.l  2007-09-24 15:16:23.000000000 -0700
@@ -197,8 +197,10 @@
                file++;
                p = strchr(file,'"');
                if(!p) p = strchr(file,'>');
-               *p = '\0';
-               include_files = g_list_prepend(include_files,g_strdup(file));
+    if (p) {
+      *p = '\0';
+      include_files = g_list_prepend(include_files,g_strdup(file));
+    }
                g_free(str);
        }
        REJECT;

Reply via email to