mirror of https://github.com/M66B/NetGuard.git
Revert "Fixed partial send data offset and memory leak"
This reverts commit f34eabd55a
.
This commit is contained in:
parent
76fe5d9c2c
commit
697b7bdf2d
|
@ -485,26 +485,20 @@ void check_tcp_socket(const struct arguments *args,
|
||||||
fwd = 1;
|
fwd = 1;
|
||||||
buffer_size -= sent;
|
buffer_size -= sent;
|
||||||
s->tcp.sent += sent;
|
s->tcp.sent += sent;
|
||||||
s->tcp.remote_seq = s->tcp.forward->seq + sent;
|
s->tcp.forward->seq += sent;
|
||||||
|
s->tcp.forward->len -= sent;
|
||||||
if (sent != s->tcp.forward->len) {
|
s->tcp.remote_seq = s->tcp.forward->seq;
|
||||||
log_android(ANDROID_LOG_WARN, "%s partial send %u/%u",
|
|
||||||
session, sent, s->tcp.forward->len);
|
|
||||||
|
|
||||||
struct segment *n = malloc(sizeof(struct segment));
|
|
||||||
n->seq = s->tcp.forward->seq + sent;
|
|
||||||
n->len = s->tcp.forward->len - (uint16_t) sent;
|
|
||||||
n->data = malloc(n->len);
|
|
||||||
memcpy(n->data, s->tcp.forward->data + sent, n->len);
|
|
||||||
n->psh = s->tcp.forward->psh;
|
|
||||||
n->next = s->tcp.forward->next;
|
|
||||||
s->tcp.forward->next = n;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (s->tcp.forward->len == 0) {
|
||||||
struct segment *p = s->tcp.forward;
|
struct segment *p = s->tcp.forward;
|
||||||
s->tcp.forward = s->tcp.forward->next;
|
s->tcp.forward = s->tcp.forward->next;
|
||||||
free(p->data);
|
free(p->data);
|
||||||
free(p);
|
free(p);
|
||||||
|
} else {
|
||||||
|
log_android(ANDROID_LOG_WARN, "%s partial send %u/%u",
|
||||||
|
session, sent, s->tcp.forward->len);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue