diff --git a/pidof.c b/pidof.c index d1a9f315..8712d113 100644 --- a/pidof.c +++ b/pidof.c @@ -103,20 +103,18 @@ static char *pid_link (pid_t pid, const char *base_name) { char link [PROCPATHLEN]; char *result; - int path_alloc_size; - int len; + ssize_t path_alloc_size; + ssize_t len; snprintf(link, sizeof(link), "/proc/%d/%s", pid, base_name); len = path_alloc_size = 0; result = NULL; do { - if (len == path_alloc_size) { - grow_size (path_alloc_size); - result = (char *) xrealloc (result, path_alloc_size); - } + grow_size(path_alloc_size); + result = xrealloc(result, path_alloc_size); - if ((len = readlink(link, result, path_alloc_size - 1)) < 0) { + if ((len = readlink(link, result, path_alloc_size)) < 0) { len = 0; break; } diff --git a/pwdx.c b/pwdx.c index 07bedfc8..3e0afca6 100644 --- a/pwdx.c +++ b/pwdx.c @@ -65,7 +65,7 @@ int main(int argc, char *argv[]) { int ch; int retval = 0, i; - int alloclen = 128; + ssize_t alloclen = 128; char *pathbuf; static const struct option longopts[] = { @@ -99,7 +99,7 @@ int main(int argc, char *argv[]) if (argc == 0) usage(stderr); - pathbuf = malloc(alloclen); + pathbuf = xmalloc(alloclen); for (i = 0; i < argc; i++) { char *s; @@ -128,7 +128,7 @@ int main(int argc, char *argv[]) */ while ((len = readlink(buf, pathbuf, alloclen)) == alloclen) { alloclen *= 2; - pathbuf = realloc(pathbuf, alloclen); + pathbuf = xrealloc(pathbuf, alloclen); } free(buf);