Magellan Linux

Annotation of /trunk/kdebindings4/patches/kdebindings4-4.5.1-smokegen-segfaults.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1170 - (hide annotations) (download)
Mon Oct 11 19:08:39 2010 UTC (13 years, 7 months ago) by niro
File size: 1865 byte(s)
serveral build fixes
1 niro 1170 diff -ur kdebindings-4.5.2/generator/parser/rpp/pp-macro-expander.cpp kdebindings-4.5.2-generator-invalid-reads/generator/parser/rpp/pp-macro-expander.cpp
2     --- kdebindings-4.5.2/generator/parser/rpp/pp-macro-expander.cpp 2009-12-31 14:35:20.000000000 +0100
3     +++ kdebindings-4.5.2-generator-invalid-reads/generator/parser/rpp/pp-macro-expander.cpp 2010-10-07 17:10:57.000000000 +0200
4     @@ -268,10 +268,10 @@
5     output << '\"';
6    
7     while (!is.atEnd()) {
8     - if (input == '"') {
9     + if (is == '"') {
10     output << '\\' << is;
11    
12     - } else if (input == '\n') {
13     + } else if (is == '\n') {
14     output << '"' << is << '"';
15    
16     } else {
17     @@ -338,7 +338,7 @@
18    
19     skip_blanks(input, devnull());
20     //Omit paste tokens behind empty used actuals, else we will merge with the previous text
21     - if(input == '#' && (++input) == '#') {
22     + if(!input.atEnd() && input == '#' && !(++input).atEnd() && input == '#') {
23     ++input;
24     //We have skipped a paste token
25     }else{
26     diff -ur kdebindings-4.5.2/generator/type_compiler.cpp kdebindings-4.5.2-generator-invalid-reads/generator/type_compiler.cpp
27     --- kdebindings-4.5.2/generator/type_compiler.cpp 2010-04-28 10:00:56.000000000 +0200
28     +++ kdebindings-4.5.2-generator-invalid-reads/generator/type_compiler.cpp 2010-10-07 17:11:33.000000000 +0200
29     @@ -182,7 +182,7 @@
30     TypeCompiler tc(m_session, m_visitor);
31     tc.run(node->type_specifier, node->declarator);
32     NameCompiler name_cc(m_session, m_visitor);
33     - if (tc.type().isFunctionPointer())
34     + if (tc.type().isFunctionPointer() && node->declarator && node->declarator->sub_declarator)
35     name_cc.run(node->declarator->sub_declarator->id);
36     else if (node->declarator)
37     name_cc.run(node->declarator->id);