mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-08 20:26:31 +00:00
tftpd: Satisfy clang-analyzer.
* Replace `random()` with `arc4random()`. * Change some variable types. * Drop some unused assignments. MFC after: 3 days Sponsored by: Klara, Inc. Reviewed by: imp, markj Differential Revision: https://reviews.freebsd.org/D45132
This commit is contained in:
parent
ae285a8cbf
commit
4d09eb87c5
|
@ -71,13 +71,13 @@ static struct errmsg {
|
|||
|
||||
#define DROPPACKET(s) \
|
||||
if (packetdroppercentage != 0 && \
|
||||
random()%100 < packetdroppercentage) { \
|
||||
arc4random()%100 < packetdroppercentage) { \
|
||||
tftp_log(LOG_DEBUG, "Artificial packet drop in %s", s); \
|
||||
return; \
|
||||
}
|
||||
#define DROPPACKETn(s,n) \
|
||||
if (packetdroppercentage != 0 && \
|
||||
random()%100 < packetdroppercentage) { \
|
||||
arc4random()%100 < packetdroppercentage) { \
|
||||
tftp_log(LOG_DEBUG, "Artificial packet drop in %s", s); \
|
||||
return (n); \
|
||||
}
|
||||
|
@ -156,10 +156,8 @@ send_error(int peer, int error)
|
|||
pe->e_msg = strerror(error - 100);
|
||||
tp->th_code = EUNDEF; /* set 'undef' errorcode */
|
||||
}
|
||||
strcpy(tp->th_msg, pe->e_msg);
|
||||
length = strlen(pe->e_msg);
|
||||
tp->th_msg[length] = '\0';
|
||||
length += 5;
|
||||
snprintf(tp->th_msg, MAXPKTSIZE - 4, "%s%n", pe->e_msg, &length);
|
||||
length += 5; /* header and terminator */
|
||||
|
||||
if (debug & DEBUG_PACKETS)
|
||||
tftp_log(LOG_DEBUG, "Sending ERROR %d: %s", error, tp->th_msg);
|
||||
|
@ -330,7 +328,6 @@ send_ack(int fp, uint16_t block)
|
|||
DROPPACKETn("send_ack", 0);
|
||||
|
||||
tp = (struct tftphdr *)buf;
|
||||
size = sizeof(buf) - 2;
|
||||
tp->th_opcode = htons((u_short)ACK);
|
||||
tp->th_block = htons((u_short)block);
|
||||
size = 4;
|
||||
|
|
|
@ -204,7 +204,7 @@ struct debugs debugs[] = {
|
|||
{ DEBUG_ACCESS, "access", "TCPd access debugging" },
|
||||
{ DEBUG_NONE, NULL, "No debugging" },
|
||||
};
|
||||
int packetdroppercentage = 0;
|
||||
unsigned int packetdroppercentage = 0;
|
||||
|
||||
int
|
||||
debug_find(char *s)
|
||||
|
|
|
@ -99,7 +99,7 @@ struct debugs {
|
|||
};
|
||||
extern int debug;
|
||||
extern struct debugs debugs[];
|
||||
extern int packetdroppercentage;
|
||||
extern unsigned int packetdroppercentage;
|
||||
int debug_find(char *s);
|
||||
int debug_finds(char *s);
|
||||
const char *debug_show(int d);
|
||||
|
|
|
@ -160,7 +160,7 @@ main(int argc, char *argv[])
|
|||
options_extra_enabled = 0;
|
||||
break;
|
||||
case 'p':
|
||||
packetdroppercentage = atoi(optarg);
|
||||
packetdroppercentage = (unsigned int)atoi(optarg);
|
||||
tftp_log(LOG_INFO,
|
||||
"Randomly dropping %d out of 100 packets",
|
||||
packetdroppercentage);
|
||||
|
@ -451,9 +451,9 @@ static char *
|
|||
parse_header(int peer, char *recvbuffer, size_t size,
|
||||
char **filename, char **mode)
|
||||
{
|
||||
char *cp;
|
||||
int i;
|
||||
struct formats *pf;
|
||||
char *cp;
|
||||
size_t i;
|
||||
|
||||
*mode = NULL;
|
||||
cp = recvbuffer;
|
||||
|
@ -470,12 +470,11 @@ parse_header(int peer, char *recvbuffer, size_t size,
|
|||
|
||||
i = get_field(peer, cp, size);
|
||||
*mode = cp;
|
||||
cp += i;
|
||||
|
||||
/* Find the file transfer mode */
|
||||
for (cp = *mode; *cp; cp++)
|
||||
if (isupper(*cp))
|
||||
*cp = tolower(*cp);
|
||||
for (; *cp; cp++)
|
||||
if (isupper((unsigned char)*cp))
|
||||
*cp = tolower((unsigned char)*cp);
|
||||
for (pf = formats; pf->f_mode; pf++)
|
||||
if (strcmp(pf->f_mode, *mode) == 0)
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue
Block a user