file: rpc_file_exec_run: fix potential memory leak and integer overflow
authorJo-Philipp Wich <jo@mein.io>
Fri, 21 Dec 2018 07:50:36 +0000 (08:50 +0100)
committerJo-Philipp Wich <jo@mein.io>
Tue, 26 May 2020 14:21:13 +0000 (16:21 +0200)
commit71b00ab6f2ef13c697f8de9b3468e31f685b58d8
tree55781aef2dddd90c844b563647259af9742eb34c
parentc7bb956634126de2b1c945015da2cd4537236d16
file: rpc_file_exec_run: fix potential memory leak and integer overflow

 - Store the realloc result in a separate pointer so that we can free
   the original on allocation failure
 - Use an explicit uint8_t for the argument vector length instead of
   "char" which might be signed or unsigned, depending on the arch
 - Bail out with an invalid argument error if the argument vector
   exceeds 255 items

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit e5243c16eb214d2f6a2008ca4f15c4eb3ec6682c)
file.c