tags 613549 + patch
thanks

* Jakub Wilk <jw...@debian.org>, 2011-02-15, 16:39:
#0  0x00007f133f777013 in (anonymous namespace)::printer_t::print(miniexp_s*) 
() from /usr/lib/libdjvulibre.so.21
#1  0x00007f133f776c86 in (anonymous namespace)::printer_t::print(miniexp_s*) 
() from /usr/lib/libdjvulibre.so.21
#2  0x00007f133f7771d9 in miniexp_prin () from /usr/lib/libdjvulibre.so.21
#3  0x00000000004007d1 in main (argc=1, argv=0x7fff0ef9a1b8) at test.c:14

The attached patch fixes this bug.

Initializers of static variables are evaluated only once per program execution. Hence "end" was not being initialized in subsequent calls to must_quote_symbol().

--
Jakub Wilk
diff --git a/libdjvu/miniexp.cpp b/libdjvu/miniexp.cpp
--- a/libdjvu/miniexp.cpp
+++ b/libdjvu/miniexp.cpp
@@ -1003,7 +1003,7 @@
       return true;
   char *end;
 #ifdef __GNUC__
-  static long junk __attribute__ ((unused)) = 
+  long junk __attribute__ ((unused)) = 
 #endif
   strtol(s, &end, 0);
   return (!*end);

Reply via email to