Blame SOURCES/openslp-2.0.0-cve-2017-17833.patch

cde33f
diff -up openslp-2.0.0/slpd/slpd_process.c.orig openslp-2.0.0/slpd/slpd_process.c
cde33f
--- openslp-2.0.0/slpd/slpd_process.c.orig	2018-05-09 13:08:06.185104375 +0200
cde33f
+++ openslp-2.0.0/slpd/slpd_process.c	2018-05-09 13:07:21.017095089 +0200
cde33f
@@ -462,6 +462,15 @@ static int ProcessSrvRqst(SLPMessage * m
cde33f
          message->body.srvrqst.srvtype, 23, SLP_DA_SERVICE_TYPE) == 0)
cde33f
    {
cde33f
       errorcode = ProcessDASrvRqst(message, sendbuf, errorcode);
cde33f
+
cde33f
+      if (result != *sendbuf)
cde33f
+      {
cde33f
+         // The pointer stored at *sendbuf can be modified by a realloc
cde33f
+         // operation in ProcessDASrvRqst().  Fix up the local copy of
cde33f
+         // that pointer if necessary.
cde33f
+         result = *sendbuf;
cde33f
+      }
cde33f
+
cde33f
       if (errorcode == 0)
cde33f
       {
cde33f
          /* Since we have an errorcode of 0, we were successful,