diff options
author | Ting-Wei Lan <lantw44@gmail.com> | 2014-06-13 17:16:49 +0800 |
---|---|---|
committer | Ting-Wei Lan <lantw44@gmail.com> | 2014-06-13 17:16:49 +0800 |
commit | 1bff9c9f0444630c630e5363fc28ede34574b455 (patch) | |
tree | f3ba9f3f77e07c6efd0cb14d95368b0d62640c70 | |
parent | df4a8e8afc7fc56ca16e1c12f3d44e0746d08fb9 (diff) | |
download | fastalg-protocol-1bff9c9f0444630c630e5363fc28ede34574b455.tar.gz fastalg-protocol-1bff9c9f0444630c630e5363fc28ede34574b455.tar.zst fastalg-protocol-1bff9c9f0444630c630e5363fc28ede34574b455.zip |
dns: Fix buffer overflow when input is invalid
-rw-r--r-- | falgproto/falgproto-protocol-dns.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/falgproto/falgproto-protocol-dns.c b/falgproto/falgproto-protocol-dns.c index 467b35d..5614024 100644 --- a/falgproto/falgproto-protocol-dns.c +++ b/falgproto/falgproto-protocol-dns.c @@ -45,6 +45,9 @@ static inline ssize_t get_question_name ( out[j] = pkt[i]; } } + if (i >= len) { + return -1; + } if (out != NULL) { if (pkt[i] != 0) { out[j] = '.'; @@ -55,7 +58,6 @@ static inline ssize_t get_question_name ( } if (pkt[i] != 0) { - printf ("%hhu %c\n", pkt[i], pkt[i]); return -1; } |