summaryrefslogtreecommitdiff
path: root/src/gdk
diff options
context:
space:
mode:
authorscuri <scuri>2010-12-06 19:24:50 +0000
committerscuri <scuri>2010-12-06 19:24:50 +0000
commit5ea68c05f28050068fec17d82be7ebca97feeba7 (patch)
tree77fab9a36212409ca9045eae9f00906df2dee38e /src/gdk
parent38c6855890e912c9ff9ba64db53295df96d8f345 (diff)
*** empty log message ***
Diffstat (limited to 'src/gdk')
-rw-r--r--src/gdk/cdgdkclp.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gdk/cdgdkclp.c b/src/gdk/cdgdkclp.c
index 16eb1c7..c6557b9 100644
--- a/src/gdk/cdgdkclp.c
+++ b/src/gdk/cdgdkclp.c
@@ -50,7 +50,7 @@ static void cdkillcanvas(cdCtxCanvas *ctxcanvas)
static int cdplay(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax, void *data)
{
- char filename[1024];
+ char filename[10240];
int dwSize;
FILE* file;
GdkAtom* buffer;
@@ -59,7 +59,9 @@ static int cdplay(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax, void
if(!buffer)
return CD_ERROR;
- tmpnam(filename);
+ if (!cdStrTmpFileName(filename))
+ return CD_ERROR;
+
file = fopen(filename, "w");
fwrite(buffer, dwSize, 1, file);
fclose(file);
@@ -75,7 +77,7 @@ static int cdplay(cdCanvas* canvas, int xmin, int xmax, int ymin, int ymax, void
static void cdcreatecanvas(cdCanvas* canvas, void *data)
{
- char tmpPath[512];
+ char tmpPath[10240];
char* str = (char*)data;
GtkClipboard* clp = NULL;
@@ -93,7 +95,8 @@ static void cdcreatecanvas(cdCanvas* canvas, void *data)
return;
str++;
- tmpnam(tmpPath);
+ if (!cdStrTmpFileName(tmpPath))
+ return;
strcat(tmpPath, " ");
strcat(tmpPath, str);