fix warnings Modified: trunk/reactos/services/dhcp/alloc.c Modified: trunk/reactos/services/dhcp/dhclient.c Modified: trunk/reactos/services/dhcp/include/dhcpd.h Modified: trunk/reactos/services/dhcp/options.c Modified: trunk/reactos/services/dhcp/util.c _____
Modified: trunk/reactos/services/dhcp/alloc.c --- trunk/reactos/services/dhcp/alloc.c 2005-10-21 23:44:43 UTC (rev 18669) +++ trunk/reactos/services/dhcp/alloc.c 2005-10-22 01:46:46 UTC (rev 18670) @@ -76,4 +76,18 @@
return (rval); }
-void free_hash_bucket(struct hash_bucket *hb) { free(hb); } +void +dfree(void *ptr, char *name) +{ + if (!ptr) { + warning("dfree %s: free on null pointer.", name); + return; + } + free(ptr); +} + +void +free_hash_bucket(struct hash_bucket *ptr, char *name) +{ + dfree(ptr, name); +} _____
Modified: trunk/reactos/services/dhcp/dhclient.c --- trunk/reactos/services/dhcp/dhclient.c 2005-10-21 23:44:43 UTC (rev 18669) +++ trunk/reactos/services/dhcp/dhclient.c 2005-10-22 01:46:46 UTC (rev 18670) @@ -234,7 +234,7 @@
/* make_request doesn't initialize xid because it normally comes from the DHCPDISCOVER, but we haven't sent a DHCPDISCOVER, so pick an xid now. */ - ip->client->xid = arc4random(); + ip->client->xid = rand();
/* Make a DHCPREQUEST packet, and set appropriate per-interface flags. */ @@ -940,7 +940,7 @@ ip->client->interval = ip->client->config->initial_interval; else { - ip->client->interval += (arc4random() >> 2) % + ip->client->interval += (rand() >> 2) % (2 * ip->client->interval); }
@@ -949,7 +949,7 @@ ip->client->config->backoff_cutoff) ip->client->interval = ((ip->client->config->backoff_cutoff / 2) - + ((arc4random() >> 2) % + + ((rand() >> 2) %
ip->client->config->backoff_cutoff)); } else if (!ip->client->interval) ip->client->interval = @@ -1142,7 +1142,7 @@ if (!ip->client->interval) ip->client->interval = ip->client->config->initial_interval; else - ip->client->interval += ((arc4random() >> 2) % + ip->client->interval += ((rand() >> 2) % (2 * ip->client->interval));
/* Don't backoff past cutoff. */ @@ -1150,7 +1150,7 @@ ip->client->config->backoff_cutoff) ip->client->interval = ((ip->client->config->backoff_cutoff / 2) + - ((arc4random() >> 2) % ip->client->interval)); + ((rand() >> 2) % ip->client->interval));
/* If the backoff would take us to the expiry time, just set the timeout to the expiry time. */ @@ -1280,7 +1280,7 @@ ip->client->packet.htype = ip->hw_address.htype; ip->client->packet.hlen = ip->hw_address.hlen; ip->client->packet.hops = 0; - ip->client->packet.xid = arc4random(); + ip->client->packet.xid = rand(); ip->client->packet.secs = 0; /* filled in by send_discover. */ ip->client->packet.flags = 0;
@@ -1986,7 +1986,7 @@ ipv4addrs(char * buf) { char *tmp; - struct in_addr jnk; + unsigned long jnk; int i = 0;
note("Input: %s\n", buf); @@ -1994,7 +1994,8 @@ do { tmp = strtok(buf, " "); note("got %s\n", tmp); - if( tmp && inet_aton(tmp, &jnk) ) i++; + jnk = inet_addr( tmp ); + if( tmp ) i++; buf = NULL; } while( tmp );
_____
Modified: trunk/reactos/services/dhcp/include/dhcpd.h --- trunk/reactos/services/dhcp/include/dhcpd.h 2005-10-21 23:44:43 UTC (rev 18669) +++ trunk/reactos/services/dhcp/include/dhcpd.h 2005-10-22 01:46:46 UTC (rev 18670) @@ -322,7 +322,10 @@
struct string_list *new_string_list(size_t size); struct hash_table *new_hash_table(int); struct hash_bucket *new_hash_bucket(void); +void dfree(void *, char *); +void free_hash_bucket(struct hash_bucket *, char *);
+ /* bpf.c */ int if_register_bpf(struct interface_info *); void if_register_send(struct interface_info *); _____
Modified: trunk/reactos/services/dhcp/options.c --- trunk/reactos/services/dhcp/options.c 2005-10-21 23:44:43 UTC (rev 18669) +++ trunk/reactos/services/dhcp/options.c 2005-10-22 01:46:46 UTC (rev 18670) @@ -41,6 +41,7 @@
*/
#include <ctype.h> +#include <string.h>
#define DHCP_OPTION_DATA #include "rosdhcp.h" @@ -592,7 +593,8 @@ break; case 'I': foo.s_addr = htonl(getULong(dp)); - opcount = strlcpy(op, inet_ntoa(foo), opleft); + strncpy(op, inet_ntoa(foo), opleft - 1); + op[opleft - 1] = ANSI_NULL; if (opcount >= opleft) goto toobig; opleft -= opcount; @@ -650,8 +652,8 @@ opleft -= opcount; break; case 'f': - opcount = strlcpy(op, - *dp++ ? "true" : "false", opleft); + opcount = (size_t) strncpy(op, *dp++ ? "true" : "false", opleft - 1); + op[opleft - 1] = ANSI_NULL; if (opcount >= opleft) goto toobig; opleft -= opcount; _____
Modified: trunk/reactos/services/dhcp/util.c --- trunk/reactos/services/dhcp/util.c 2005-10-21 23:44:43 UTC (rev 18669) +++ trunk/reactos/services/dhcp/util.c 2005-10-22 01:46:46 UTC (rev 18670) @@ -93,7 +93,6 @@
}
void *dmalloc( int size, char *name ) { return malloc( size ); } -void dfree( void *v, char *name ) { free( v ); }
int read_client_conf(void) { error("util.c read_client_conf not implemented!");