summaryrefslogtreecommitdiffstats
path: root/import-layers/yocto-poky/meta/recipes-devtools/expect/expect/0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-devtools/expect/expect/0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch')
-rw-r--r--import-layers/yocto-poky/meta/recipes-devtools/expect/expect/0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch91
1 files changed, 0 insertions, 91 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/expect/expect/0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch b/import-layers/yocto-poky/meta/recipes-devtools/expect/expect/0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch
deleted file mode 100644
index b1d322d5c..000000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/expect/expect/0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From f0049b4b2ea55b3b3c53bf6f0275654801c755d2 Mon Sep 17 00:00:00 2001
-From: Li Zhou <li.zhou@windriver.com>
-Date: Thu, 28 Sep 2017 15:54:55 +0800
-Subject: [PATCH] expect: Fix segfaults if Tcl is built with stubs and Expect
- is used directly from C program
-
-Description: This dirty hack fixes segfaults if Tcl is built with stubs
- and Expect is used directly from C program.
-Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=588817
-Example:
- #include <stdio.h>
- #include <tcl8.5/expect.h>
- int main()
- {
- FILE *pipe;
- char *some_command = "uname";
- char datum;
- pipe = exp_popen(some_command);
- if (pipe == NULL) return 1;
- while ((datum = getc (pipe)) != EOF)
- printf("%c",datum);
- }
-Example:
- #include <stdio.h>
- #include "expect.h"
- main()
- {
- int fd = 0;
- fd = exp_spawnl("echo", "echo", "Hello User: Whats up?", (char*) 0);
- switch (exp_expectl(fd, exp_regexp, "ser:", 1, exp_end)) {
- case 1: {
- printf("GOT ser:\n");
- break;
- }
- default: {
- printf("DEFAULT\n");
- return 1;
- }
- }
- printf("Normal Exit\n");
- return 0;
- }
-Author: Sergei Golovan <sgolovan@debian.org>
-
-Upstream-Status: Pending
-This patch is backported from fedora changes for expect:
-http://pkgs.fedoraproject.org/cgit/rpms/expect.git/commit/
-?h=master&id=b6737eed550be93182f2ed194e836a6cbbcf4fa3
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- exp_clib.c | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/exp_clib.c b/exp_clib.c
-index 172c05e..19341d5 100644
---- a/exp_clib.c
-+++ b/exp_clib.c
-@@ -114,7 +114,11 @@ extern unsigned long strtoul _ANSI_ARGS_((CONST char *string,
- #include <stdlib.h> /* for malloc */
- #endif
-
--#include <tcl.h>
-+#define ckalloc(x) Tcl_Alloc(x)
-+#define ckfree(x) Tcl_Free(x)
-+extern char *Tcl_ErrnoMsg(int err);
-+extern char *Tcl_Alloc(unsigned int size);
-+extern void Tcl_Free(char *ptr);
- #include "expect.h"
- #define TclRegError exp_TclRegError
-
-@@ -389,7 +393,7 @@ char *exp;
- FAIL("regexp too big");
-
- /* Allocate space. */
-- r = (regexp *)ckalloc(sizeof(regexp) + (unsigned)rcstate->regsize);
-+ r = (regexp *)malloc(sizeof(regexp) + (unsigned)rcstate->regsize);
- if (r == NULL)
- FAIL("out of space");
-
-@@ -399,7 +403,7 @@ char *exp;
- rcstate->regcode = r->program;
- regc(MAGIC, rcstate);
- if (reg(0, &flags, rcstate) == NULL) {
-- ckfree ((char*) r);
-+ free((char*) r);
- return(NULL);
- }
-
---
-1.9.1
-
OpenPOWER on IntegriCloud