pspp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with configure/make


From: John Darrington
Subject: Re: Problem with configure/make
Date: Mon, 13 Apr 2009 20:31:50 +0800
User-agent: Mutt/1.5.13 (2006-08-11)

It looks like a buffer overrun in q2c.c  Can you try this patch.


diff --git a/src/language/lexer/q2c.c b/src/language/lexer/q2c.c
index ea4e348..be0f29c 100644
--- a/src/language/lexer/q2c.c
+++ b/src/language/lexer/q2c.c
@@ -379,7 +379,7 @@ id_cpy (char **cp)
 static char *
 unmunge (const char *s)
 {
-  char *dest = xmalloc (strlen (s));
+  char *dest = xmalloc (strlen (s) + 1);
   char *d = dest;
 
   while (*s)
@@ -391,6 +391,7 @@ unmunge (const char *s)
       s++;
       d++;
     }
+  *d = '\0';
 
   return dest;
 }



Also, you shouldn't configure from within the source directory if you
have already configured from another directory, otherwise bad things 
may happen.   However it's okay to configure from two (or more)
seperate directories outside the source dir.

J'




On Mon, Apr 13, 2009 at 08:38:07AM -0300, michel wrote:
     Hello,
     
     If I run ./configure and make on the pspp source folder, the file
     "src/language/tests/check-model.c" is created
     correctly. But if I run configure from other folder (because I need to make
     linux an windows versions, so I use configure
     on different folders) it file is created with some char problems, and don't
     compile. I'm sending the diff of the two files
     one on the source folder, and other on another folder.
     Do you have any clue of why this is happening?
     
     Thank you,
     
     Michel
     128c128
     < #line 54 "../pspp/src/language/tests/check-model.q"
     ---
     > #line 54 "src/language/tests/check-model.q"
     411,412c411
     <         else if (lex_match_hyphenated_word (lexer, "PROGRESS`
     < ?+"))
     ---
     >         else if (lex_match_hyphenated_word (lexer, "PROGRESS`j???*"))
     448,449c447
     <                 if (lex_match_hyphenated_word (lexer, "VERBOSITY
     < ?+"))
     ---
     >                 if (lex_match_hyphenated_word (lexer, "VERBOSITYj???*"))
     469c467
     <                 else if (lex_match_hyphenated_word (lexer, 
"ERRVERBOSITY+"))
     ---
     >                 else if (lex_match_hyphenated_word (lexer, 
"ERRVERBOSITY?*"))

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://pgp.mit.edu or any PGP keyserver for public key.


Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]