[ second commit, I forgot to add these patches. ]
Support CFLAGS properly. Conform to one file per patch guideline. Be extra careful with $i; remove unnecessary WRKSRC. PR: 19925 Submitted by: KATO Tsuguru <tkato@prontomail.ne.jp>
This commit is contained in:
parent
6542dd2222
commit
179f9d996f
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=30659
5 changed files with 292 additions and 0 deletions
86
games/sxsame/files/patch-ad
Normal file
86
games/sxsame/files/patch-ad
Normal file
|
@ -0,0 +1,86 @@
|
|||
--- hiscore.c.orig Sun May 5 04:09:25 1996
|
||||
+++ hiscore.c Tue Jul 11 21:29:01 2000
|
||||
@@ -5,14 +5,16 @@
|
||||
* Copyleft (c) 1994-1996 Software Research Academy *
|
||||
************************************************************************/
|
||||
#include <stdio.h>
|
||||
-#include <sys/types.h>
|
||||
-#include <sys/stat.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <unistd.h>
|
||||
+#include <sys/param.h>
|
||||
#include "config.h"
|
||||
#include "hiscore.h"
|
||||
|
||||
static struct Hiscore hiscore[4];
|
||||
|
||||
-static char *lockf = LOCK_FILE;
|
||||
+static char *lockfn = LOCK_FILE;
|
||||
static char *hiscoref = HISCORE_FILE;
|
||||
extern char *same_dir;
|
||||
static int lock_file(
|
||||
@@ -30,12 +32,15 @@
|
||||
FILE *fp;
|
||||
int i, j;
|
||||
char *myname;
|
||||
- char tmpf[256];
|
||||
+ char tmpf[MAXPATHLEN];
|
||||
int new = 0;
|
||||
|
||||
myname = (char *)getenv("LOGNAME");
|
||||
- sprintf(tmpf, "%s/%s", same_dir, hiscoref);
|
||||
- umask(0);
|
||||
+ if (MAXPATHLEN <= snprintf(tmpf, MAXPATHLEN ,"%s/%s", same_dir, hiscoref) ) {
|
||||
+ fprintf(stderr,"Error: hiscore file name too long.\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ umask(002);
|
||||
fp = fopen(tmpf,"rb");
|
||||
if(fp != NULL)
|
||||
{
|
||||
@@ -75,11 +80,11 @@
|
||||
break;
|
||||
}
|
||||
}
|
||||
- if(i < 10 | new == 1)
|
||||
+ if(i < 10 || new == 1)
|
||||
{
|
||||
if(lock_file(0) != 0)
|
||||
return(-1);
|
||||
- umask(0);
|
||||
+ umask(002);
|
||||
fp = fopen(tmpf, "wb");
|
||||
fwrite(hiscore, sizeof(hiscore), 1, fp);
|
||||
fclose(fp);
|
||||
@@ -95,10 +100,12 @@
|
||||
int cmd;
|
||||
{
|
||||
FILE *fp;
|
||||
- char lkf[256];
|
||||
+ char lkf[MAXPATHLEN];
|
||||
int i;
|
||||
-
|
||||
- sprintf(lkf,"%s/%s", same_dir, lockf);
|
||||
+ if (MAXPATHLEN <= snprintf(lkf, MAXPATHLEN, "%s/%s", same_dir, lockfn)) {
|
||||
+ fprintf(stderr,"Error: lock file name too long.\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
if(cmd == 1)
|
||||
{
|
||||
if(remove(lkf) != 0)
|
||||
@@ -134,9 +141,12 @@
|
||||
struct Hiscore *hi;
|
||||
{
|
||||
FILE *fp;
|
||||
- char tmpf[256];
|
||||
+ char tmpf[MAXPATHLEN];
|
||||
|
||||
- sprintf(tmpf, "%s/%s", same_dir, hiscoref);
|
||||
+ if (MAXPATHLEN <= snprintf(tmpf, MAXPATHLEN, "%s/%s", same_dir, hiscoref)) {
|
||||
+ fprintf(stderr,"Error: hiscore file name too long.\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
fp = fopen(tmpf,"rb");
|
||||
if(fp == NULL)
|
||||
return(-1);
|
11
games/sxsame/files/patch-ae
Normal file
11
games/sxsame/files/patch-ae
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- inifile.c.orig Sun May 5 04:09:25 1996
|
||||
+++ inifile.c Tue Jul 11 21:14:03 2000
|
||||
@@ -5,6 +5,8 @@
|
||||
* Copyleft (c) 1994-1996 Software Research Academy *
|
||||
************************************************************************/
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
|
||||
#include "sxsame.h"
|
||||
|
39
games/sxsame/files/patch-af
Normal file
39
games/sxsame/files/patch-af
Normal file
|
@ -0,0 +1,39 @@
|
|||
--- loadbmp.c.orig Sun May 5 04:09:25 1996
|
||||
+++ loadbmp.c Tue Jul 11 21:30:24 2000
|
||||
@@ -5,6 +5,9 @@
|
||||
* Copyleft (c) 1994-1996 Software Research Academy *
|
||||
************************************************************************/
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <sys/param.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include "sxsame.h"
|
||||
|
||||
@@ -37,17 +40,24 @@
|
||||
int c, c1,c2;
|
||||
int width, height, planes, ncol;
|
||||
int *col;
|
||||
- char fname[256];
|
||||
+ char fname[MAXPATHLEN];
|
||||
|
||||
Pixmap w;
|
||||
GC gc;
|
||||
int i, j, k;
|
||||
|
||||
+ if (MAXPATHLEN <= strlen(bmpname) ) {
|
||||
+ fprintf(stderr,"Error: BMP file name too long.\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
strcpy(fname,bmpname);
|
||||
fp = fopen(fname,"rb");
|
||||
if(fp == NULL)
|
||||
{
|
||||
- sprintf(fname, "%s/%s", SAME_DIR, bmpname);
|
||||
+ if (MAXPATHLEN <= snprintf(fname, MAXPATHLEN, "%s/%s", SAME_DIR, bmpname)) {
|
||||
+ fprintf(stderr,"Error: BMP file name too long.\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
fp = fopen(fname, "r");
|
||||
if(fp == NULL)
|
||||
{
|
71
games/sxsame/files/patch-ag
Normal file
71
games/sxsame/files/patch-ag
Normal file
|
@ -0,0 +1,71 @@
|
|||
--- loaddata.c.orig Sun May 5 04:09:25 1996
|
||||
+++ loaddata.c Tue Jul 11 21:32:34 2000
|
||||
@@ -5,6 +5,9 @@
|
||||
* Copyleft (c) 1994-1996 Software Research Academy *
|
||||
************************************************************************/
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <sys/param.h>
|
||||
#include "config.h"
|
||||
#include "sxsame.h"
|
||||
|
||||
@@ -25,7 +28,7 @@
|
||||
DataFile ***data;
|
||||
{
|
||||
FILE *fp;
|
||||
- char fname[256];
|
||||
+ char fname[MAXPATHLEN];
|
||||
char buf[256];
|
||||
char str1[256];
|
||||
char str2[256];
|
||||
@@ -34,11 +37,18 @@
|
||||
char *p;
|
||||
int i;
|
||||
|
||||
+ if (MAXPATHLEN <= strlen(entry_name)) {
|
||||
+ fprintf(stderr,"Error: data file name too long.\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
strcpy(fname,entry_name);
|
||||
fp = fopen(fname, "r");
|
||||
if(fp == NULL)
|
||||
{
|
||||
- sprintf(fname, "%s/%s", SAME_DIR, entry_name);
|
||||
+ if (MAXPATHLEN <= snprintf(fname, MAXPATHLEN ,"%s/%s", SAME_DIR, entry_name)) {
|
||||
+ fprintf(stderr,"Error: data file name too long.\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
fp = fopen(fname, "r");
|
||||
if(fp == NULL)
|
||||
return(0);
|
||||
@@ -81,7 +91,7 @@
|
||||
char *fname;
|
||||
{
|
||||
FILE *fp;
|
||||
- char tmpfname[256];
|
||||
+ char tmpfname[MAXPATHLEN];
|
||||
char buf[256];
|
||||
char str1[256],str2[256];
|
||||
int val, i, j;
|
||||
@@ -94,7 +104,7 @@
|
||||
{
|
||||
for(j=0;j<5;j++)
|
||||
{
|
||||
- data->xpm_data[i][j] == 0;
|
||||
+ data->xpm_data[i][j] = 0;
|
||||
}
|
||||
}
|
||||
data->bg_data = 0;
|
||||
@@ -103,7 +113,10 @@
|
||||
fp = fopen(fname,"r");
|
||||
if(fp == NULL)
|
||||
{
|
||||
- sprintf(tmpfname, "%s/%s", SAME_DIR, fname);
|
||||
+ if (MAXPATHLEN <= snprintf(tmpfname, MAXPATHLEN, "%s/%s", SAME_DIR, fname)) {
|
||||
+ fprintf(stderr,"Error: data file name too long.\n", fname);
|
||||
+ return -1;
|
||||
+ }
|
||||
fp = fopen(tmpfname, "r");
|
||||
if(fp == NULL)
|
||||
{
|
85
games/sxsame/files/patch-ah
Normal file
85
games/sxsame/files/patch-ah
Normal file
|
@ -0,0 +1,85 @@
|
|||
--- sxsame.c.orig Sun May 5 04:09:26 1996
|
||||
+++ sxsame.c Tue Jul 11 21:35:38 2000
|
||||
@@ -12,6 +12,11 @@
|
||||
char *program_version = "3.02";
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <unistd.h>
|
||||
+#include <time.h>
|
||||
+#include <string.h>
|
||||
+#include <sys/param.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#ifndef LOCAL_XPM_H
|
||||
@@ -163,11 +168,21 @@
|
||||
int hisc_height = 80;
|
||||
#endif /* !ENABLE_HISCORE */
|
||||
|
||||
-
|
||||
+int ReadInitFile(int* width, int* height, int* same_pic);
|
||||
+int SaveInitFile(int width, int height, int same_pic);
|
||||
int CheckSameDataFile(DataFile ***);
|
||||
int LoadBMPSameData(Display *dpy, Colormap cmap, SameGame *, char *);
|
||||
int LoadSameData(ImportSameData *, char *);
|
||||
+int CheckSelectSame(int sx, int sy);
|
||||
|
||||
+static
|
||||
+int
|
||||
+Access(const char* path)
|
||||
+{
|
||||
+ return access(path, R_OK);
|
||||
+}
|
||||
+
|
||||
+# define access(x) Access(x)
|
||||
|
||||
void main(argc, argv)
|
||||
int argc;
|
||||
@@ -726,7 +741,7 @@
|
||||
{
|
||||
ImportSameData data;
|
||||
int i, j, val, ncol;
|
||||
- char tmpfname[256];
|
||||
+ char tmpfname[MAXPATHLEN];
|
||||
|
||||
if(strlen(fname)>4) /* check Windows data file... */
|
||||
{
|
||||
@@ -784,9 +799,13 @@
|
||||
{
|
||||
if(!access(data.xpm_data[i][j]))
|
||||
strcpy(tmpfname,data.xpm_data[i][j]);
|
||||
- else
|
||||
- sprintf(tmpfname,"%s/%s",same_dir,
|
||||
- data.xpm_data[i][j]);
|
||||
+ else {
|
||||
+ if (MAXPATHLEN <=
|
||||
+ snprintf(tmpfname, MAXPATHLEN, "%s/%s",same_dir,
|
||||
+ data.xpm_data[i][j])) {
|
||||
+ goto xpm_error;
|
||||
+ }
|
||||
+ }
|
||||
val = XpmReadFileToPixmap(dpy, root,
|
||||
tmpfname, &game.bits_xpm[i][j],
|
||||
NULL, &xpm_attr);
|
||||
@@ -804,7 +823,9 @@
|
||||
if(!access(data.bg_data))
|
||||
strcpy(tmpfname,data.bg_data);
|
||||
else
|
||||
- sprintf(tmpfname,"%s/%s",same_dir, data.bg_data);
|
||||
+ if (MAXPATHLEN <= snprintf(tmpfname, MAXPATHLEN, "%s/%s",same_dir, data.bg_data)) {
|
||||
+ goto xpm_error;
|
||||
+ }
|
||||
val = XpmReadFileToPixmap(dpy, root, tmpfname,
|
||||
&game.bg_xpm, NULL, &xpm_attr);
|
||||
free(data.bg_data);
|
||||
@@ -815,6 +836,10 @@
|
||||
strcpy(tmpfname,data.frame_data);
|
||||
else
|
||||
sprintf(tmpfname,"%s/%s",same_dir, data.frame_data);
|
||||
+ if (MAXPATHLEN <= snprintf(tmpfname, MAXPATHLEN, "%s/%s",same_dir, data.frame_data)) {
|
||||
+
|
||||
+ goto xpm_error;
|
||||
+ }
|
||||
val = XpmReadFileToPixmap(dpy, root, tmpfname,
|
||||
&game.frame_xpm, NULL, &xpm_attr);
|
||||
free(data.frame_data);
|
Loading…
Reference in a new issue