mirror of
https://github.com/radareorg/radare2.git
synced 2024-10-08 02:53:29 +00:00
min-checks on gdb packet size (#8106)
This commit is contained in:
parent
bf8651454b
commit
74c80f9e09
@ -221,7 +221,7 @@ static int __system(RIO *io, RIODesc *fd, const char *cmd) {
|
||||
// pktsz = 0 doesn't make sense
|
||||
return false;
|
||||
}
|
||||
desc->stub_features.pkt_sz = pktsz;
|
||||
desc->stub_features.pkt_sz = R_MAX (pktsz, 64); // min = 64
|
||||
return true;
|
||||
}
|
||||
if (!strncmp (cmd, "pkt ", 4)) {
|
||||
|
@ -100,7 +100,7 @@ int gdbr_connect(libgdbr_t *g, const char *host, int port) {
|
||||
ut32 env_pktsz;
|
||||
if ((env_pktsz_str = getenv ("R2_GDB_PKTSZ"))) {
|
||||
if ((env_pktsz = (ut32) strtoul (env_pktsz_str, NULL, 10))) {
|
||||
g->stub_features.pkt_sz = env_pktsz;
|
||||
g->stub_features.pkt_sz = R_MAX (env_pktsz, 64);
|
||||
}
|
||||
}
|
||||
ret = snprintf (tmp.buf, sizeof (tmp.buf) - 1, "%d", port);
|
||||
@ -131,7 +131,7 @@ int gdbr_connect(libgdbr_t *g, const char *host, int port) {
|
||||
return ret;
|
||||
}
|
||||
if (env_pktsz > 0) {
|
||||
g->stub_features.pkt_sz = R_MIN (env_pktsz, g->stub_features.pkt_sz);
|
||||
g->stub_features.pkt_sz = R_MAX (R_MIN (env_pktsz, g->stub_features.pkt_sz), 64);
|
||||
}
|
||||
// If no-ack supported, enable no-ack mode (should speed up things)
|
||||
if (g->stub_features.QStartNoAckMode) {
|
||||
@ -567,6 +567,7 @@ int gdbr_write_memory(libgdbr_t *g, ut64 address, const uint8_t *data, ut64 len)
|
||||
if (!g || !data) {
|
||||
return -1;
|
||||
}
|
||||
g->stub_features.pkt_sz = R_MAX (g->stub_features.pkt_sz, 64);
|
||||
data_sz = g->stub_features.pkt_sz / 2;
|
||||
if (data_sz < 1) {
|
||||
return -1;
|
||||
@ -1002,6 +1003,7 @@ int gdbr_read_file(libgdbr_t *g, ut8 *buf, ut64 max_len) {
|
||||
eprintf ("%s: No remote file opened\n", __func__);
|
||||
return -1;
|
||||
}
|
||||
g->stub_features.pkt_sz = R_MAX (g->stub_features.pkt_sz, 64);
|
||||
data_sz = g->stub_features.pkt_sz / 2;
|
||||
ret = 0;
|
||||
while (ret < max_len) {
|
||||
|
@ -12,6 +12,7 @@ int gdbr_init(libgdbr_t *g, bool is_server) {
|
||||
memset (g, 0, sizeof (libgdbr_t));
|
||||
g->no_ack = false;
|
||||
g->stub_features.extended_mode = -1;
|
||||
g->stub_features.pkt_sz = 64;
|
||||
g->remote_file_fd = -1;
|
||||
g->is_server = is_server;
|
||||
g->send_max = 2500;
|
||||
|
Loading…
Reference in New Issue
Block a user