otrx: check TRX length read from header to avoid Segmentation fault

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45433 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Rafał Miłecki 2015-04-14 12:18:57 +00:00
parent cd59cb2a40
commit e87605ee99
1 changed files with 6 additions and 0 deletions

View File

@ -167,6 +167,12 @@ static int otrx_check() {
}
length = le32_to_cpu(hdr.length);
if (length < sizeof(hdr)) {
fprintf(stderr, "Length read from TRX too low (%zu B)\n", length);
err = -EINVAL;
goto err_close;
}
buf = malloc(length);
if (!buf) {
fprintf(stderr, "Couldn't alloc %d B buffer\n", length);