Files
pkgsrc-ng/multimedia/ggrab/patches/patch-ae
2013-09-26 17:14:40 +02:00

64 lines
1.9 KiB
Plaintext

$NetBSD: patch-ae,v 1.3 2011/11/24 13:44:35 joerg Exp $
--- sserver.cpp.orig 2003-03-07 19:22:13.000000000 +0000
+++ sserver.cpp
@@ -18,6 +18,7 @@ program: sserver version 0.03 by Axel Bu
#include <stdlib.h>
#include <netdb.h>
+#include <limits.h>
#include <iostream>
#include <unistd.h>
#include <string.h>
@@ -52,7 +53,7 @@ int main(int argc, char * argv[])
char a_grabname[256];
char a_vpid[20];
char a_apid[20];
- char a_filename[256];
+ char a_filename[PATH_MAX];
char a_path[256]="";
char a_host[256];
int i,n;
@@ -169,10 +170,10 @@ int main(int argc, char * argv[])
sprintf(a_vpid,"0x%03x",recdata.vpid);
sprintf(a_apid,"0x%03x",recdata.apid);
- strcpy (a_filename,a_path);
+ strlcpy (a_filename,a_path, sizeof(a_filename));
if (strlen(a_filename)) {
- strcat(a_filename,"/");
+ strlcat(a_filename, "/", sizeof(a_filename));
}
if (strlen(recdata.channelname) > 0)
@@ -185,8 +186,8 @@ int main(int argc, char * argv[])
}
} while (*p_act);
- strcat(a_filename, recdata.channelname);
- strcat(a_filename, "_");
+ strlcat(a_filename, recdata.channelname, sizeof(a_filename));
+ strlcat(a_filename, "_", sizeof(a_filename));
}
if (strlen(recdata.epgtitle) > 0)
@@ -206,13 +207,13 @@ int main(int argc, char * argv[])
}
} while (*p_act++);
- strcat(a_filename, recdata.epgtitle);
- strcat(a_filename, "_");
+ strlcat(a_filename, recdata.epgtitle, sizeof(a_filename));
+ strlcat(a_filename, "_", sizeof(a_filename));
}
t = time (&t);
- strftime (buf, sizeof(a_filename)-1, "%Y%m%d_%H%M%S", localtime(&t));
- strcat(a_filename, buf);
+ strftime (buf, 20, "%Y%m%d_%H%M%S", localtime(&t));
+ strlcat(a_filename, buf, sizeof(a_filename));
pid = fork();
if (pid == -1) {