You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.0 KiB
56 lines
2.0 KiB
# --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
# |
|
# Filename: package/.../pptpd/pptpd-1.3.4-invalid-ip-range.patch |
|
# Copyright (C) 2011 The OpenSDE Project |
|
# |
|
# More information can be found in the files COPYING and README. |
|
# |
|
# This patch file is dual-licensed. It is available under the license the |
|
# patched project is licensed under, as long as it is an OpenSource license |
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms |
|
# of the GNU General Public License as published by the Free Software |
|
# Foundation; either version 2 of the License, or (at your option) any later |
|
# version. |
|
# --- SDE-COPYRIGHT-NOTE-END --- |
|
|
|
From 44fb69accd620f858fd04aa76bf06d272829f4e7 Mon Sep 17 00:00:00 2001 |
|
From: Christian Wiese <christian.wiese@securepoint.de> |
|
Date: Wed, 24 Aug 2011 14:07:07 +0200 |
|
Subject: [PATCH] pptpd: added fix for a segfault when invalid IP ranges are specified in the config file |
|
|
|
Origin: http://patch-tracker.debian.org/patch/misc/dl/pptpd/1.3.4-5/pptpd.c |
|
|
|
Debian Changelog: |
|
|
|
* Apply patch provided by Sergey Naumov to fix a segmentation fault |
|
when invalid IP ranges are specified in the config file (upper < |
|
lower) |
|
--- |
|
pptpd.c | 10 ++++++++++ |
|
1 files changed, 10 insertions(+), 0 deletions(-) |
|
|
|
diff --git pptpd-1.3.4.orig/pptpd.c 1.3.4/pptpd.c |
|
index ac009e6..0fbeb65 100644 |
|
--- pptpd-1.3.4.orig/pptpd.c |
|
+++ 1.3.4/pptpd.c |
|
@@ -735,6 +735,16 @@ static void processIPStr(int type, char *ipstr) |
|
continue; |
|
} |
|
|
|
+ if (upper < lower) { |
|
+ /* if upper < lower segmantation fault in pptpctrl happens |
|
+ * due to enabling pppLocal parameter without providing its value. |
|
+ * |
|
+ * we can safely use ipstr because it is not modified except |
|
+ * of truncating. |
|
+ */ |
|
+ syslog(LOG_ERR, "MGR: Bad %s IP range: %s", (type == LOCAL)?"local":"remote", ipstr); |
|
+ exit(1); |
|
+ } |
|
for (n = lower; n <= upper; n++) { |
|
sprintf(tmpstr5, "%s%d%s", ip_pre, n, ip_post); |
|
/* Check if the ip address is valid */ |
|
-- |
|
1.6.6.2 |
|
|
|
|