From patchwork Thu Dec 24 03:04:20 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: TARUISI Hiroaki X-Patchwork-Id: 69675 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.2) with ESMTP id nBO34DSY001511 for ; Thu, 24 Dec 2009 03:04:13 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752561AbZLXDEL (ORCPT ); Wed, 23 Dec 2009 22:04:11 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752551AbZLXDEK (ORCPT ); Wed, 23 Dec 2009 22:04:10 -0500 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:44747 "EHLO fgwmail5.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752491AbZLXDEK (ORCPT ); Wed, 23 Dec 2009 22:04:10 -0500 Received: from m3.gw.fujitsu.co.jp ([10.0.50.73]) by fgwmail5.fujitsu.co.jp (Fujitsu Gateway) with ESMTP id nBO345BL025049 for (envelope-from taruishi.hiroak@jp.fujitsu.com); Thu, 24 Dec 2009 12:04:05 +0900 Received: from smail (m3 [127.0.0.1]) by outgoing.m3.gw.fujitsu.co.jp (Postfix) with ESMTP id D6AF845DE51 for ; Thu, 24 Dec 2009 12:04:04 +0900 (JST) Received: from s3.gw.fujitsu.co.jp (s3.gw.fujitsu.co.jp [10.0.50.93]) by m3.gw.fujitsu.co.jp (Postfix) with ESMTP id B5DF345DE50 for ; Thu, 24 Dec 2009 12:04:04 +0900 (JST) Received: from s3.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s3.gw.fujitsu.co.jp (Postfix) with ESMTP id A15991DB8037 for ; Thu, 24 Dec 2009 12:04:04 +0900 (JST) Received: from m022.s.css.fujitsu.com (m022.s.css.fujitsu.com [10.0.81.62]) by s3.gw.fujitsu.co.jp (Postfix) with ESMTP id 56B6F1DB803B for ; Thu, 24 Dec 2009 12:04:04 +0900 (JST) Received: from m022.css.fujitsu.com (m022 [127.0.0.1]) by m022.s.css.fujitsu.com (Postfix) with ESMTP id 4672D480016 for ; Thu, 24 Dec 2009 12:04:04 +0900 (JST) Received: from [127.0.0.1] (unknown [10.124.100.186]) by m022.s.css.fujitsu.com (Postfix) with ESMTP id 1EA40480012 for ; Thu, 24 Dec 2009 12:04:04 +0900 (JST) X-SecurityPolicyCheck-FJ: OK by FujitsuOutboundMailChecker v1.4.0 Received: from paxd3.soft.fujitsu.com[10.124.100.186] by paxd3.soft.fujitsu.com (FujitsuOutboundMailChecker v1.4.0/9992[10.124.100.186]); Thu, 24 Dec 2009 12:04:27 +0900 (JST) Message-ID: <4B32DA34.7030101@jp.fujitsu.com> Date: Thu, 24 Dec 2009 12:04:20 +0900 From: TARUISI Hiroaki User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0 MIME-Version: 1.0 To: linux-btrfs@vger.kernel.org Subject: [PATCH] btrfs-progs: check slash in deleting subvolumes. X-Enigmail-Version: 1.0 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Index: b/btrfsctl.c =================================================================== --- a/btrfsctl.c 2009-12-24 11:40:15.000000000 +0900 +++ b/btrfsctl.c 2009-12-24 11:38:51.000000000 +0900 @@ -266,6 +266,7 @@ int main(int ac, char **av) unsigned long command = 0; int len; char *fullpath; + char *pos; if (ac == 2 && strcmp(av[1], "-a") == 0) { fprintf(stderr, "Scanning for Btrfs filesystems\n"); @@ -332,6 +333,16 @@ int main(int ac, char **av) command = BTRFS_IOC_SNAP_DESTROY; name = av[i + 1]; len = strlen(name); + pos = strchr(name, '/'); + if (pos) { + if (*(pos + 1) == '\0') + *(pos) = '\0'; + else { + fprintf(stderr, + "error: / not allowed in names\n"); + exit(1); + } + } if (len == 0 || len >= BTRFS_VOL_NAME_MAX) { fprintf(stderr, "-D size too long\n"); exit(1);