[vlc-commits] quartztext: don't mangle const string
    Pierre Ynard 
    git at videolan.org
       
    Fri Jan 21 12:50:47 CET 2011
    
    
  
vlc | branch: master | Pierre Ynard <linkfanel at yahoo.fr> | Fri Jan 21 12:50:36 2011 +0100| [88388e212062a026f2d1948c350202a2e4f0f3f8] | committer: Pierre Ynard
quartztext: don't mangle const string
Untested
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=88388e212062a026f2d1948c350202a2e4f0f3f8
---
 modules/misc/quartztext.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/modules/misc/quartztext.c b/modules/misc/quartztext.c
index ec28027..f8277dc 100644
--- a/modules/misc/quartztext.c
+++ b/modules/misc/quartztext.c
@@ -741,7 +741,10 @@ static int ProcessNodes( filter_t *p_filter,
                 int           len;
 
                 // Turn any multiple-whitespaces into single spaces
-                char *s = strpbrk( node, "\t\r\n " );
+                char *dup = strdup( node );
+                if( !dup )
+                    break;
+                char *s = strpbrk( dup, "\t\r\n " );
                 while( s )
                 {
                     int i_whitespace = strspn( s, "\t\r\n " );
@@ -757,7 +760,7 @@ static int ProcessNodes( filter_t *p_filter,
 
 
                 CFMutableAttributedStringRef p_attrnode = CFAttributedStringCreateMutable(kCFAllocatorDefault, 0);
-                p_cfString = CFStringCreateWithCString( NULL, node, kCFStringEncodingUTF8 );
+                p_cfString = CFStringCreateWithCString( NULL, dup, kCFStringEncodingUTF8 );
                 CFAttributedStringReplaceString( p_attrnode, CFRangeMake(0, 0), p_cfString );
                 CFRelease( p_cfString );
                 len = CFAttributedStringGetLength( p_attrnode );
@@ -771,6 +774,7 @@ static int ProcessNodes( filter_t *p_filter,
                                 p_attrnode);
                 CFRelease( p_attrnode );
 
+                free( dup );
                 break;
             }
         }
    
    
More information about the vlc-commits
mailing list