- fix _xrealloc not checking the malloc return value

[bnc#980722] [CVE-2016-4912]
  new patch: openslp.xrealloc.diff

OBS-URL: https://build.opensuse.org/package/show/network:utilities/openslp?expand=0&rev=43
This commit is contained in:
Michael Schröder 2016-09-13 11:55:46 +00:00 committed by Git OBS Bridge
parent 6ae719b0d7
commit eaaef381ac
3 changed files with 17 additions and 0 deletions

View File

@ -11,6 +11,9 @@ Mon Sep 12 14:23:15 CEST 2016 - mls@suse.de
new patch: openslp.doubleequal.diff
- fix bug in openslp.initda.diff patch
- fix rcopenslp helper
- fix _xrealloc not checking the malloc return value
[bnc#980722] [CVE-2016-4912]
new patch: openslp.xrealloc.diff
-------------------------------------------------------------------
Sun Mar 8 00:39:27 UTC 2015 - p.drouand@gmail.com

View File

@ -60,6 +60,7 @@ Patch12: openslp.sd_notify.diff
Patch13: openslp.predicatestorage.diff
Patch14: openslp.doubleequal.diff
Patch15: openslp.noconvenience.diff
Patch16: openslp.xrealloc.diff
%description
Service Location Protocol is an IETF standards track protocol that
@ -127,6 +128,8 @@ such applications.
%patch13
%patch14
%patch15
%patch16
%build
autoreconf -fiv
%configure --disable-static --with-pic --enable-slpv1 \

11
openslp.xrealloc.diff Normal file
View File

@ -0,0 +1,11 @@
--- ./common/slp_xmalloc.c.orig 2016-09-13 11:46:35.749065088 +0000
+++ ./common/slp_xmalloc.c 2016-09-13 11:48:03.785749186 +0000
@@ -203,6 +203,8 @@ void * _xrealloc(const char * file, int
if (x->size != size)
{
newptr = _xmalloc(file, line, size);
+ if (!newptr)
+ return 0;
memcpy(newptr, ptr, x->size);
_xfree(file, line, x);
}