rem: if (rt->rt_gateway == NULL || glen > ROUNDUP(rt->rt_gateway->sa_len)) {
add: if (rt->rt_gateway == NULL || glen > (int) ROUNDUP(rt->rt_gateway->sa_len)) {
context: int rt_setgate(struct rtentry *rt0, 		struct sockaddr *dst, 		struct sockaddr *gate){        caddr_t new, old = NULL;        int dlen = ROUNDUP(dst->sa_len), glen = ROUNDUP(gate->sa_len);        struct rtentry *rt = rt0;        if (rt->rt_gateway == NULL || glen > ROUNDUP(rt->rt_gateway->sa_len)) {                old = (caddr_t)rt_key(rt);                R_Malloc(new, caddr_t, dlen + glen);                if (new == NULL)                        return 1;                rt->rt_nodes->rn_key = new;        } else {                new = rt->rt_nodes->rn_key;                old = NULL;        }        Bcopy(gate, (rt->rt_gateway = (struct sockaddr *)(new + dlen)), glen);        if (old) {                Bcopy(dst, new, dlen);                Free(old);        }        if (rt->rt_gwroute != NULL) {                rt = rt->rt_gwroute;                RTFREE(rt);                rt = rt0;                rt->rt_gwroute = NULL;        }        if (rt->rt_flags & RTF_GATEWAY) {                rt->rt_gwroute = rtalloc1(gate, 1);                /*                 * If we switched gateways, grab the MTU from the new                 * gateway route if the current MTU is 0 or greater                 * than the MTU of gateway.                 */                if (rt->rt_gwroute && !(rt->rt_rmx.rmx_locks & RTV_MTU) &&                    (rt->rt_rmx.rmx_mtu == 0 ||                     rt->rt_rmx.rmx_mtu > rt->rt_gwroute->rt_rmx.rmx_mtu)) {                        rt->rt_rmx.rmx_mtu = rt->rt_gwroute->rt_rmx.rmx_mtu;                }        }        return 0;}