Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.0:Rings:1-MinimalX
procps
procps-ng-3.3.10-integer-overflow.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File procps-ng-3.3.10-integer-overflow.patch of Package procps
--- free.c | 17 +++++++++++++++-- proc/sysinfo.c | 5 ++++- 2 files changed, 19 insertions(+), 3 deletions(-) --- free.c +++ free.c 2016-07-11 13:05:52.351515040 +0000 @@ -387,15 +387,28 @@ int main(int argc, char **argv) * to print the high info, even if it is zero. */ if (flags & FREE_LOHI) { + unsigned long kb_low_used; + unsigned long kb_high_used; + + if (kb_low_total > kb_low_free) + kb_low_used = kb_low_total - kb_low_free; + else + kb_low_used = 0; + + if (kb_high_total > kb_high_free) + kb_high_used = kb_high_total - kb_high_free; + else + kb_high_used = 0; + printf("%-7s", _("Low:")); printf(" %11s", scale_size(kb_low_total, flags, args)); - printf(" %11s", scale_size(kb_low_total - kb_low_free, flags, args)); + printf(" %11s", scale_size(kb_low_used, flags, args)); printf(" %11s", scale_size(kb_low_free, flags, args)); printf("\n"); printf("%-7s", _("High:")); printf(" %11s", scale_size(kb_high_total, flags, args)); - printf(" %11s", scale_size(kb_high_total - kb_high_free, flags, args)); + printf(" %11s", scale_size(kb_high_used, flags, args)); printf(" %11s", scale_size(kb_high_free, flags, args)); printf("\n"); } --- proc/sysinfo.c +++ proc/sysinfo.c 2016-07-11 13:08:00.145047300 +0000 @@ -709,7 +709,10 @@ nextline: kb_main_cached = kb_page_cache + kb_slab_reclaimable; if ((ev=getenv("PS_FULL_CACHE"))) kb_main_cached += kb_swap_cached + kb_nfs_unstable; - kb_swap_used = kb_swap_total - kb_swap_free; + if (kb_swap_total > kb_swap_free) + kb_swap_used = kb_swap_total - kb_swap_free; + else + kb_swap_used = 0; /* if kb_main_available is greater than kb_main_total or our calculation of mem_used overflows, that's symptomatic of running within a lxc container
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor