busctl: fix assertion failure on --size option
authorNamhyung Kim <namhyung@gmail.com>
Fri, 31 Jul 2015 15:44:07 +0000 (00:44 +0900)
committerNamhyung Kim <namhyung@gmail.com>
Fri, 31 Jul 2015 17:20:47 +0000 (02:20 +0900)
Using --size option triggers an assert failure below because
parse_size() requires the second argument, base, being either 1000 or
1024.  As it's for a packet size, it'd be better using IEC binary
suffix (base 1024) IMHO.

  $ busctl --size 2048
  Assertion 'base == 1000 || base == 1024' failed at src/basic/util.c:2222,
  function parse_size(). Aborting.
  Aborted (core dumped)

src/libsystemd/sd-bus/busctl.c

index 8e0b374..1724292 100644 (file)
@@ -1825,7 +1825,7 @@ static int parse_argv(int argc, char *argv[]) {
                 case ARG_SIZE: {
                         off_t o;
 
-                        r = parse_size(optarg, 0, &o);
+                        r = parse_size(optarg, 1024, &o);
                         if (r < 0) {
                                 log_error("Failed to parse size: %s", optarg);
                                 return r;