$OpenBSD: patch-src_xitk_mediamark_c,v 1.1 2011/04/01 12:32:34 sthen Exp $

Avoid a possible overflow when handling media marks. 

--- src/xitk/mediamark.c.orig	Fri Dec 18 19:34:22 2009
+++ src/xitk/mediamark.c	Thu Mar 31 19:24:33 2011
@@ -796,7 +796,7 @@ static mediamark_t **guess_toxine_playlist(playlist_t 
 	playlist->data = tox_content;
 	
 	if(playlist_split_data(playlist)) {
-	  char    buffer[23768], path[_PATH_MAX + _NAME_MAX + 2];
+	  char    buffer[32768], path[_PATH_MAX + _NAME_MAX + 2];
 	  char   *p, *pp, *origin;
 	  int     start = 0;
 	  int     linen = 0;
@@ -976,8 +976,9 @@ static mediamark_t **guess_toxine_playlist(playlist_t 
 		  }
 		  
 		  if(*pp != '\0') {
-		    *p = *pp;
-		    p++;
+		    /* buffer full? don't copy */
+		    if (p - buffer < sizeof (buffer) - 1)
+		      *p++ = *pp;
 		    pp++;
 		  }
 		}
