From 2dc4c8e0e550d2a9a4c8df1719ab01c9bcd3db4e Mon Sep 17 00:00:00 2001 From: Colin Percival Date: Mon, 19 May 2008 18:38:01 +0000 Subject: [PATCH] Detect if argv[1] is "" and avoid calling malloc(0). Prior to this commit, running 'tar ""' would print 'No memory' instead of the correct error message, 'Must specify one of -c, -r, -t, -u, -x' if malloc is set to System V mode (malloc(0) == NULL). --- usr.bin/tar/bsdtar.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/tar/bsdtar.c b/usr.bin/tar/bsdtar.c index f86da2fe7bb..674c88d7579 100644 --- a/usr.bin/tar/bsdtar.c +++ b/usr.bin/tar/bsdtar.c @@ -726,8 +726,8 @@ rewrite_argv(struct bsdtar *bsdtar, int *argc, char **src_argv, const char *p; char *src, *dest; - if (src_argv[0] == NULL || - src_argv[1] == NULL || src_argv[1][0] == '-') + if (src_argv[0] == NULL || src_argv[1] == NULL || + src_argv[1][0] == '-' || src_argv[1][0] == '\0') return (src_argv); *argc += strlen(src_argv[1]) - 1;