SecBSD's official ports repository
This commit is contained in:
commit
2c0afcbbf3
64331 changed files with 5339189 additions and 0 deletions
141
audio/libworkman/patches/patch-cddb_c
Normal file
141
audio/libworkman/patches/patch-cddb_c
Normal file
|
@ -0,0 +1,141 @@
|
|||
Index: cddb.c
|
||||
--- cddb.c.orig
|
||||
+++ cddb.c
|
||||
@@ -33,6 +33,7 @@ static char cddb_id[] = "$Id: cddb.c,v 1.2 1999/02/14
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
#include <strings.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
@@ -73,10 +74,10 @@ void
|
||||
cddb_cur2struct(void)
|
||||
{
|
||||
cddb.protocol = cur_cddb_protocol;
|
||||
- strcpy(cddb.cddb_server, cur_cddb_server);
|
||||
- strcpy(cddb.mail_adress, cur_cddb_mail_adress);
|
||||
- strcpy(cddb.path_to_cgi, cur_cddb_path_to_cgi);
|
||||
- strcpy(cddb.proxy_server, cur_cddb_proxy_server);
|
||||
+ strlcpy(cddb.cddb_server, cur_cddb_server, sizeof(cddb.cddb_server));
|
||||
+ strlcpy(cddb.mail_adress, cur_cddb_mail_adress, sizeof(cddb.mail_adress));
|
||||
+ strlcpy(cddb.path_to_cgi, cur_cddb_path_to_cgi, sizeof(cddb.path_to_cgi));
|
||||
+ strlcpy(cddb.proxy_server, cur_cddb_proxy_server, sizeof(cddb.proxy_server));
|
||||
} /* cddb_cur2struct() */
|
||||
|
||||
/*
|
||||
@@ -104,7 +105,7 @@ cddb_sum(int n)
|
||||
int ret = 0;
|
||||
|
||||
/* For backward compatibility this algorithm must not change */
|
||||
- sprintf(buf, "%lu", (unsigned long)n);
|
||||
+ snprintf(buf, sizeof(buf), "%lu", (unsigned long)n);
|
||||
for (p = buf; *p != '\0'; p++)
|
||||
ret += (*p - '0');
|
||||
|
||||
@@ -175,10 +176,10 @@ string_makehello(char *line,char delim)
|
||||
{
|
||||
char mail[84],*host;
|
||||
|
||||
- strcpy(mail,cddb.mail_adress);
|
||||
+ strlcpy(mail,cddb.mail_adress,sizeof(mail));
|
||||
host=string_split(mail,'@');
|
||||
|
||||
- sprintf(line,"%shello%c%s%c%s%c%s%c%s",
|
||||
+ snprintf(line, sizeof(line), "%shello%c%s%c%s%c%s%c%s",
|
||||
delim == ' ' ? "cddb " : "&",
|
||||
delim == ' ' ? ' ' : '=',
|
||||
mail,delim,
|
||||
@@ -226,7 +227,7 @@ connect_open(void)
|
||||
printf("unknown host: %s\n", host);
|
||||
return (-1);
|
||||
}
|
||||
- strcpy(namebuf, host);
|
||||
+ strlcpy(namebuf, host, sizeof(namebuf));
|
||||
def.h_name = namebuf;
|
||||
def.h_addr_list = alist, def.h_addr = (char *)&defaddr;
|
||||
def.h_length = sizeof (struct in_addr);
|
||||
@@ -317,14 +318,14 @@ connect_read_entry(void)
|
||||
t2 = t;
|
||||
if(*t2 == ' ')
|
||||
t2++;
|
||||
- strcpy(cd->cdname,t2);
|
||||
+ strlcpy(cd->cdname,t2,sizeof(cd->cdname));
|
||||
|
||||
for(t2=t;*t2;t2++)
|
||||
{
|
||||
if((*t2 == ' ') && (*(t2+1) == 0))
|
||||
*t2=0;
|
||||
}
|
||||
- strcpy(cd->artist,t);
|
||||
+ strlcpy(cd->artist,t,sizeof(cd->artist));
|
||||
}
|
||||
|
||||
if('T' == type)
|
||||
@@ -359,7 +360,7 @@ void
|
||||
cddbp_read(char *category, unsigned int id)
|
||||
{
|
||||
char tempbuf[84];
|
||||
- sprintf(tempbuf, "cddb read %s %08x", category, id);
|
||||
+ snprintf(tempbuf, sizeof(tempbuf), "cddb read %s %08x", category, id);
|
||||
cddbp_send(tempbuf);
|
||||
} /* cddbp_read() */
|
||||
|
||||
@@ -400,7 +401,7 @@ void
|
||||
http_read(char *category, unsigned int id)
|
||||
{
|
||||
char tempbuf[84];
|
||||
- sprintf(tempbuf, "cddb+read+%s+%08x", category, id);
|
||||
+ snprintf(tempbuf, sizeof(tempbuf), "cddb+read+%s+%08x", category, id);
|
||||
http_send(tempbuf);
|
||||
} /* http_read() */
|
||||
|
||||
@@ -411,7 +412,7 @@ void
|
||||
cddb_request(void)
|
||||
{
|
||||
int i;
|
||||
- char tempbuf[2000];
|
||||
+ char tempbuf[2000], tmp2buf[12];
|
||||
extern int cur_ntracks;
|
||||
|
||||
int status;
|
||||
@@ -447,12 +448,14 @@ cddb_request(void)
|
||||
printf("[%s]\n",tempbuf);
|
||||
|
||||
printf("query\n");
|
||||
- sprintf(tempbuf, "cddb query %08x %d",thiscd.cddbid,thiscd.ntracks);
|
||||
+ snprintf(tempbuf, sizeof(tempbuf), "cddb query %08x %d",thiscd.cddbid,thiscd.ntracks);
|
||||
for (i = 0; i < cur_ntracks; i++)
|
||||
- if (thiscd.trk[i].section < 2)
|
||||
- sprintf(tempbuf + strlen(tempbuf), " %d",
|
||||
- thiscd.trk[i].start);
|
||||
- sprintf(tempbuf + strlen(tempbuf), " %d\n", thiscd.length);
|
||||
+ if (thiscd.trk[i].section < 2) {
|
||||
+ snprintf(tmp2buf, sizeof(tmp2buf), " %d", thiscd.trk[i].start);
|
||||
+ strlcat(tempbuf, tmp2buf, sizeof(tempbuf));
|
||||
+ }
|
||||
+ snprintf(tmp2buf, sizeof(tmp2buf), " %d\n", thiscd.length);
|
||||
+ strlcat(tempbuf, tmp2buf, sizeof(tempbuf));
|
||||
printf(">%s<\n",tempbuf);
|
||||
cddbp_send(tempbuf);
|
||||
connect_getline(tempbuf);
|
||||
@@ -491,12 +494,14 @@ cddb_request(void)
|
||||
printf("USING HTTP%s\n",
|
||||
(cddb.protocol == 3) ? " WITH PROXY" : "");
|
||||
printf("query\n");
|
||||
- sprintf(tempbuf, "cddb+query+%08x+%d",thiscd.cddbid,thiscd.ntracks);
|
||||
+ snprintf(tempbuf, sizeof(tempbuf), "cddb+query+%08x+%d",thiscd.cddbid,thiscd.ntracks);
|
||||
for (i = 0; i < cur_ntracks; i++)
|
||||
- if (thiscd.trk[i].section < 2)
|
||||
- sprintf(tempbuf + strlen(tempbuf), "+%d",
|
||||
- thiscd.trk[i].start);
|
||||
- sprintf(tempbuf + strlen(tempbuf), "+%d", thiscd.length);
|
||||
+ if (thiscd.trk[i].section < 2) {
|
||||
+ snprintf(tmp2buf, sizeof(tmp2buf), "+%d", thiscd.trk[i].start);
|
||||
+ strlcat(tempbuf, tmp2buf, sizeof(tempbuf));
|
||||
+ }
|
||||
+ snprintf(tmp2buf, sizeof(tmp2buf), "+%d", thiscd.length);
|
||||
+ strlcat(tempbuf, tmp2buf, sizeof(tempbuf));
|
||||
printf(">%s<\n",tempbuf);
|
||||
connect_open();
|
||||
http_send(tempbuf);
|
Loading…
Add table
Add a link
Reference in a new issue