[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE_3_1_BRANCH: kdelibs/kdoctools
From:       Waldo Bastian <bastian () kde ! org>
Date:       2002-12-11 13:12:03
[Download RAW message or body]

CVS commit by waba: 

In the hands of a sufficiently unskilled person, strlcpy can be dangerous too.


  M +6 -2      xslt.cpp   1.51.2.4


--- kdelibs/kdoctools/xslt.cpp  #1.51.2.3:1.51.2.4
@@ -416,5 +416,7 @@ QCString fromUnicode( const QString &dat
             QCString test = locale->fromUnicode( part.mid( i, 1 ) );
             if ( locale->toUnicode( test ) == part.mid( i, 1 ) ) {
-                strlcpy( buffer + buffer_len, test.data(), sizeof(buffer) );
+                if (buffer_len + test.length() + 1 > sizeof(buffer))
+                   break;
+                strcpy( buffer + buffer_len, test.data() );
                 buffer_len += test.length();
             } else {
@@ -422,5 +424,7 @@ QCString fromUnicode( const QString &dat
                 res.sprintf( "&#%d;", part.at( i ).unicode() );
                 test = locale->fromUnicode( res );
-                strlcpy( buffer + buffer_len, test.data(), sizeof(buffer) );
+                if (buffer_len + test.length() + 1 > sizeof(buffer))
+                   break;
+                strcpy( buffer + buffer_len, test.data() );
                 buffer_len += test.length();
             }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic