From 90934a3de8364038b05d33b8145fd6d506809a64 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Sun, 16 Dec 2012 06:56:20 +0000 Subject: package/keyutils: new package Signed-off-by: "Yann E. MORIN" Cc: Jarkko Sakkinen Signed-off-by: Peter Korsgaard --- .../keyutils-01-memleak-from-realloc.patch | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 package/keyutils/keyutils-01-memleak-from-realloc.patch (limited to 'package/keyutils/keyutils-01-memleak-from-realloc.patch') diff --git a/package/keyutils/keyutils-01-memleak-from-realloc.patch b/package/keyutils/keyutils-01-memleak-from-realloc.patch new file mode 100644 index 000000000..0faa9d860 --- /dev/null +++ b/package/keyutils/keyutils-01-memleak-from-realloc.patch @@ -0,0 +1,51 @@ +Patch vampirised from Debian's packaging of keyutils-1.4 + +Author: Michael Gebetsroither +Description: Fixed memleak from realloc (Closes: #496466). + +diff -Naurp keyutils.orig/keyutils.c keyutils/keyutils.c +--- keyutils.orig/keyutils.c 2008-08-09 21:46:52.000000000 +0200 ++++ keyutils/keyutils.c 2008-08-25 13:38:07.000000000 +0200 +@@ -165,6 +165,24 @@ long keyctl_assume_authority(key_serial_ + return keyctl(KEYCTL_ASSUME_AUTHORITY, id); + } + ++ ++/*****************************************************************************/ ++/* ++ * plain realloc is just crazy ++ */ ++static void* __xrealloc(void* ptr, size_t size) ++{ ++ void* ret; ++ ++ ret = realloc(ptr, size); ++ if(!ret) { ++ free(ptr); ++ return 0; ++ } ++ return ret; ++} ++ ++ + /*****************************************************************************/ + /* + * fetch key description into an allocated buffer +@@ -194,7 +212,7 @@ int keyctl_describe_alloc(key_serial_t i + break; + + buflen = ret; +- buf = realloc(buf, buflen); ++ buf = __xrealloc(buf, buflen); + if (!buf) + return -1; + } +@@ -233,7 +251,7 @@ int keyctl_read_alloc(key_serial_t id, v + break; + + buflen = ret; +- buf = realloc(buf, buflen + 1); ++ buf = __xrealloc(buf, buflen + 1); + if (!buf) + return -1; + } -- cgit v1.2.3