From: Peter Pentchev Date: Sun, 31 May 2020 20:38:35 +0000 (+0300) Subject: unzck: require a *.zck extension X-Git-Tag: archive/raspbian/1.1.9+ds1-1+rpi1^2~3^2~3^2~3^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c65af7737032b1a2c743f113e3072d95afb34ccd;p=zchunk.git unzck: require a *.zck extension Blindly removing the last four characters from a filename may lead to unexpected results if somebody has created a zchunk archive with a non-standard name. --- diff --git a/src/unzck.c b/src/unzck.c index acb72d5..01eff6f 100644 --- a/src/unzck.c +++ b/src/unzck.c @@ -120,6 +120,13 @@ int main (int argc, char *argv[]) { zck_set_log_level(arguments.log_level); + if(!arguments.std_out) { + if(strlen(arguments.args[0]) < 5 || + strcmp(arguments.args[0] + strlen(arguments.args[0]) - 4, ".zck") != 0) { + dprintf(STDERR_FILENO, "Not a *.zck file: %s\n", arguments.args[0]); + exit(1); + } + } int src_fd = open(arguments.args[0], O_RDONLY); if(src_fd < 0) { dprintf(STDERR_FILENO, "Unable to open %s\n", arguments.args[0]);