403Webshell
Server IP : 82.208.35.60  /  Your IP : 216.73.216.238
Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31
System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64
User : studiokobylisy_cz ( 1008)
PHP Version : 7.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/ports/games/sxsame/files/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/ports/games/sxsame/files/patch-loaddata.c
--- 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)
 		{

Youez - 2016 - github.com/yon3zu
LinuXploit