]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/libsafe-alpha.diff
Merge branch 'kernel-update' of ssh://git.ipfire.org/pub/git/ipfire-2.x into kernel...
[ipfire-2.x.git] / src / patches / libsafe-alpha.diff
diff --git a/src/patches/libsafe-alpha.diff b/src/patches/libsafe-alpha.diff
deleted file mode 100644 (file)
index dfeb9f2..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
---- libsafe-2.0-16-orig/src/intercept.c        2003-03-15 16:02:12.000000000 +0100
-+++ libsafe-2.0-16/src/intercept.c     2003-03-15 16:12:22.000000000 +0100
-@@ -165,7 +165,8 @@
-  */
- char *strcpy(char *dest, const char *src)
- {
--    size_t max_size, len;
-+    uint max_size;
-+    size_t len;
-     if (!real_memcpy)
-       real_memcpy = (memcpy_t) getLibraryFunction("memcpy");
-@@ -196,7 +197,8 @@
- char *strncpy(char *dest, const char *src, size_t n)
- {
--    size_t max_size, len;
-+    uint max_size;
-+    size_t len;
-     if (!real_strncpy)
-       real_strncpy = (strncpy_t) getLibraryFunction("strncpy");
-@@ -219,7 +221,8 @@
- char *stpcpy(char *dest, const char *src)
- {
--    size_t max_size, len;
-+    uint max_size;
-+    size_t len;
-     if (!real_memcpy)
-       real_memcpy = (memcpy_t) getLibraryFunction("memcpy");
-@@ -251,7 +254,8 @@
- #ifndef MISSING_WCSNLEN
- wchar_t *wcscpy(wchar_t *dest, const wchar_t *src)
- {
--    size_t max_bytes, max_wchars, len;
-+    size_t max_wchars, len;
-+    uint max_bytes;
-     if (!real_wcscpy)
-       real_wcscpy = (wcscpy_t) getLibraryFunction("wcscpy");
-@@ -291,7 +295,8 @@
- wchar_t *wcpcpy(wchar_t *dest, const wchar_t *src)
- {
--    size_t max_bytes, max_wchars, len;
-+    size_t max_wchars, len;
-+    uint max_bytes;
-     if (!real_wcpcpy)
-       real_wcpcpy = (wcpcpy_t) getLibraryFunction("wcpcpy");
-@@ -333,9 +338,15 @@
- /*
-  * This is needed!  See the strcpy() for the reason. -ab.
-  */
--void *memcpy(void *dest, const void *src, size_t n)
-+void *memcpy(void *dest, const void *src, size_t hack)
- {
--    size_t max_size;
-+    /*
-+     * a size_t IS an unsigned long everywhere, though it sometimes
-+     * doesn't state so, making printf misinterpret it.
-+     */
-+    unsigned long n = hack;
-+    uint max_size;
-+
-     if (!real_memcpy)
-       real_memcpy = (memcpy_t) getLibraryFunction("memcpy");
-@@ -344,11 +355,11 @@
-       return real_memcpy(dest, src, n);
-     if ((max_size = _libsafe_stackVariableP(dest)) == 0) {
--      LOG(5, "memcpy(<heap var> , <src>, %d)\n", n);
-+      LOG(5, "memcpy(<heap var> , <src>, %ld)\n", n);
-       return real_memcpy(dest, src, n);
-     }
--    LOG(4, "memcpy(<stack var> , <src>, %d) stack limit=%d)\n", n, max_size);
-+    LOG(4, "memcpy(<stack var> , <src>, %ld) stack limit=%d)\n", n, max_size);
-     if (n > max_size)
-       _libsafe_die("Overflow caused by memcpy()");
-     return real_memcpy(dest, src, n);
-@@ -357,7 +368,7 @@
- char *strcat(char *dest, const char *src)
- {
--    size_t max_size;
-+    uint max_size;
-     uint dest_len, src_len;
-     if (!real_memcpy)
-@@ -388,7 +399,7 @@
- char *strncat(char *dest, const char *src, size_t n)
- {
--    size_t max_size;
-+    uint max_size;
-     uint dest_len, src_len;
-     if (!real_strncat)
-@@ -1008,12 +1019,31 @@
-           if (is_printf_convspec[(int)*p]) {
-               caddr_t addr;
-               c++;
-+#if 0 
-+              /*
-+               * cannot add va_list (ap here) with a number on alpha.
-+               * this is faster than the other method, and might be
-+               * a good idea to enable this on !alpha arch.
-+               */
-               if (pnum) {
-                   addr = *((caddr_t*)(ap + (atoi(pnum)-1)*sizeof(char*)));
-               }
-               else {
-                   addr = *((caddr_t*)(ap + c*sizeof(char*)));
-               }
-+#else
-+              {
-+                  va_list apc;
-+                  uint nb = c + 1;
-+
-+                  va_copy(apc, ap);
-+                  if (pnum)
-+                      nb = atoi(pnum);
-+                  addr = NULL;
-+                  while (nb--)
-+                      addr = va_arg(apc, caddr_t);
-+              }
-+#endif
-               if (*p == 'n') {
-                   if (_libsafe_raVariableP((void *)(addr))) {
-                       _libsafe_die("printf(\"%%n\")");
-@@ -1172,12 +1202,32 @@
-           if (is_printf_convspec[(int)*p]) {
-               caddr_t addr;
-               c++;
-+#if 0
-+              /*
-+               * cannot add va_list (ap here) with a number on alpha.
-+               * this is faster than the other method, and might be
-+               * a good idea to enable this on !alpha arch.
-+               */
-+
-               if (pnum) {
-                   addr = *((caddr_t*)(ap + (atoi(pnum)-1)*sizeof(char*)));
-               }
-               else {
-                   addr = *((caddr_t*)(ap + c*sizeof(char*)));
-               }
-+#else
-+              {
-+                  va_list apc;
-+                  uint nb = c + 1;
-+
-+                  va_copy(apc, ap);
-+                  if (pnum)
-+                      nb = atoi(pnum);
-+                  addr = NULL;
-+                  while (nb--)
-+                    addr = va_arg(apc, caddr_t);
-+              }
-+#endif
-               if (*p == 'n') {
-                   if (_libsafe_raVariableP((void *)(addr))) {
-                       _libsafe_die("printf(\"%%n\")");
-@@ -1194,7 +1244,7 @@
- int sprintf(char *str, const char *format, ...)
- {
--    size_t max_size;
-+    uint max_size;
-     va_list ap;
-     int res;
-@@ -1242,7 +1292,7 @@
- int snprintf(char *str, size_t size, const char *format, ...)
- {
--    size_t max_size;
-+    uint max_size;
-     va_list ap;
-     int res;
-@@ -1288,7 +1338,7 @@
- int vsprintf(char *str, const char *format, va_list ap)
- {
--    size_t max_size;
-+    uint max_size;
-     int res;
-     if (!real_vsprintf)
-@@ -1325,7 +1375,7 @@
- int vsnprintf(char *str, size_t size, const char *format, va_list ap)
- {
--    size_t max_size;
-+    uint max_size;
-     int res;
-     if (!real_vsnprintf)
-@@ -1360,7 +1410,7 @@
- char *getwd(char *buf)
- {
--    size_t max_size;
-+    uint max_size;
-     char *res;
-     if (!real_getwd)
-@@ -1384,7 +1434,8 @@
- char *gets(char *s)
- {
--    size_t max_size, len;
-+    uint max_size;
-+    size_t len;
-     if (!real_gets)
-       real_gets = (gets_t) getLibraryFunction("gets");
-@@ -1409,7 +1460,8 @@
- char *realpath(char *path, char resolved_path[])
- {
--    size_t max_size, len;
-+    uint max_size;
-+    size_t len;
-     char *res;
-     char buf[MAXPATHLEN + 1];