Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 88028 Details for
Bug 130889
media-libs/jpeg: maxmem feature not used (DoS via memory exhaustion)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Re-Updated patch supporting *BSD and Darwin and with fallback.
patch (text/plain), 1.38 KB, created by
Fabian Groffen
on 2006-05-31 12:39:59 UTC
(
hide
)
Description:
Re-Updated patch supporting *BSD and Darwin and with fallback.
Filename:
MIME Type:
Creator:
Fabian Groffen
Created:
2006-05-31 12:39:59 UTC
Size:
1.38 KB
patch
obsolete
># Make a reasonable guess about memory limits using sysconf(). ># includes 5% slop factor as suggested in documentation. > >Index: jpeg-6b/jmemansi.c >=================================================================== >--- jpeg-6b.orig/jmemansi.c >+++ jpeg-6b/jmemansi.c >@@ -12,6 +12,15 @@ > * is shoved onto the user. > */ > >+#include <unistd.h> >+ >+#ifdef __FreeBSD__ >+#include <sys/types.h> >+#include <sys/sysctl.h> >+#include <sys/vmmeter.h> >+#include <vm/vm_param.h> >+#endif >+ > #define JPEG_INTERNALS > #include "jinclude.h" > #include "jpeglib.h" >@@ -157,7 +166,27 @@ jpeg_open_backing_store (j_common_ptr ci > GLOBAL(long) > jpeg_mem_init (j_common_ptr cinfo) > { >- return DEFAULT_MAX_MEM; /* default for max_memory_to_use */ >+#ifdef _SC_AVPHYS_PAGES >+ long phys_size; >+ >+ if ((phys_size = sysconf(_SC_AVPHYS_PAGES)) == -1) >+ return DEFAULT_MAX_MEM; /* default for max_memory_to_use */ >+ if ((phys_size *= sysconf(_SC_PAGESIZE)) < 0) >+ return DEFAULT_MAX_MEM; >+ return (long) (phys_size * 0.95); >+#if HAVE_SYSCTL && defined HW_PHYSMEM >+ { /* This works on *bsd and darwin. */ >+ unsigned int physmem; >+ size_t len = sizeof physmem; >+ static int mib[2] = { CTL_HW, HW_PHYSMEM }; >+ >+ if (sysctl (mib, ARRAY_SIZE (mib), &physmem, &len, NULL, 0) == 0 >+ && len == sizeof (physmem)) >+ return (long) physmem; >+ return 0L >+ } >+#endif >+ >+ return DEFAULT_MAX_MEM; > } > > GLOBAL(void)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 130889
:
85214
|
85252
|
85260
|
87770
|
88017
|
88028
|
88029