--- a/dived.c +++ b/dived.c @@ -1577,7 +1577,7 @@ fprintf(stderr, "Invalid --rlimit value \"%s\"\n", q); return 4; } else { - if(sscanf(limit_hard, "%ld", &r->limits.rlim_max) != 1) { + if(sscanf(limit_hard, "%llu", &r->limits.rlim_max) != 1) { fprintf(stderr, "\"%s\" is not a number in --rlimit %s\n", limit_hard, q); return 4; } @@ -1585,7 +1585,7 @@ if (limit_soft==NULL) { r->limits.rlim_cur = r->limits.rlim_max; } else { - if(sscanf(limit_soft, "%ld", &r->limits.rlim_cur) != 1) { + if(sscanf(limit_soft, "%llu", &r->limits.rlim_cur) != 1) { fprintf(stderr, "\"%s\" is not a number in --rlimit %s\n", limit_soft, q); return 4; }