We need to return NULL on error here.
This commit is contained in:
@@ -64,7 +64,7 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
|
|||||||
{
|
{
|
||||||
if(errno != EPERM && errno != EACCES)
|
if(errno != EPERM && errno != EACCES)
|
||||||
glibtop_warn_io_r(server, "open (%s)", buffer);
|
glibtop_warn_io_r(server, "open (%s)", buffer);
|
||||||
return;
|
return NULL;
|
||||||
}
|
}
|
||||||
if(fstat(fd, &inode) < 0)
|
if(fstat(fd, &inode) < 0)
|
||||||
{
|
{
|
||||||
@@ -72,7 +72,7 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
|
|||||||
glibtop_warn_io_r(server, "fstat (%s)", buffer);
|
glibtop_warn_io_r(server, "fstat (%s)", buffer);
|
||||||
/* else call daemon for 64-bit support */
|
/* else call daemon for 64-bit support */
|
||||||
close(fd);
|
close(fd);
|
||||||
return;
|
return NULL;
|
||||||
}
|
}
|
||||||
maps = alloca(inode.st_size);
|
maps = alloca(inode.st_size);
|
||||||
nmaps = inode.st_size / sizeof(prmap_t);
|
nmaps = inode.st_size / sizeof(prmap_t);
|
||||||
@@ -80,11 +80,11 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
|
|||||||
{
|
{
|
||||||
glibtop_warn_io_r(server, "pread (%s)", buffer);
|
glibtop_warn_io_r(server, "pread (%s)", buffer);
|
||||||
close(fd);
|
close(fd);
|
||||||
return;
|
return NULL;
|
||||||
}
|
}
|
||||||
close(fd);
|
close(fd);
|
||||||
if(!(entry = glibtop_malloc_r(server, nmaps * sizeof(glibtop_map_entry))))
|
if(!(entry = glibtop_malloc_r(server, nmaps * sizeof(glibtop_map_entry))))
|
||||||
return;
|
return NULL;
|
||||||
|
|
||||||
buf->number = nmaps;
|
buf->number = nmaps;
|
||||||
buf->size = sizeof(glibtop_map_entry);
|
buf->size = sizeof(glibtop_map_entry);
|
||||||
|
Reference in New Issue
Block a user