[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-readline] segmentation fault in rl_parse_and_bind(char*)

From: Jo Van Bulck
Subject: [Bug-readline] segmentation fault in rl_parse_and_bind(char*)
Date: Fri, 17 Oct 2014 17:54:42 +0000

Hi all,

When trying to parse a string as if it has been read from the inputrc
file, using the 'rl_parse_and_bind(char *line)' function, I get a
segmentation fault when passing any non-empy string. I run Archlinux
with readline version 'readline 6.3.006-1'.

The following C program is a minimal reproduction of the bug.

     * A modified readline example
     * (taken from
     * to demonstrate a bug in the rl_parse_and_bind(char*) function.
     * compile with "gcc readline-bug-example.c -lreadline -o
     * rl version: readline 6.3.006-1
    #include <stdio.h>
    #include <stdlib.h>
    #include <readline/readline.h>

    #define PARSE_STRING    "set completion-ignore-case on"

    int main() {
        /* A static variable for holding the line. */
        static char *line_read = (char *) NULL;

        /* TODO the next line causes a segmentation fault for
         * any non-empty string;

        while (line_read = readline("> ")) {
            printf("You entered '%s'\n", line_read);
            /* If the buffer has already been allocated,
            return the memory to the free pool. */
            if (line_read) {
              free (line_read);
              line_read = (char *) NULL;

Executing the above program in gdb outputs: "Program received signal
SIGSEGV, Segmentation fault.
0x00007ffff7bb3285 in rl_parse_and_bind () from /usr/lib/libreadline.so.6"

Any ideas on how to fix this?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]