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

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