From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19589 invoked by alias); 25 Apr 2014 14:16:43 -0000 Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org Received: (qmail 19545 invoked by uid 48); 25 Apr 2014 14:16:41 -0000 From: "simon.marchi at ericsson dot com" To: gdb-prs@sourceware.org Subject: [Bug mi/15806] Some fields in async MI events get escaped twice Date: Fri, 25 Apr 2014 14:16:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: mi X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: simon.marchi at ericsson dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-q2/txt/msg00128.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=15806 --- Comment #12 from Simon Marchi --- Oops, yeah the fix was only for breakpoint-created, sorry about that. Your comment made me realize that if a library path contains a quote ("), the result will be wrong. Example: =library-loaded,id="/tmp/hello"you/libpopt.so.0",target-name="/tmp/hello"you/libpopt.so.0",host-name="/tmp/hello"you/libpopt.so.0",symbols-loaded="0",thread-group="i1" To reproduce this, I created '/tmp/hello"you', copied some library in it and modified LD_LIBRARY_PATH so that my test program use this library instead of the system's version. You can see that the " between hello and you is not escaped, but should be. I think that no escaping can be done reliably in gdb_flush. There is no way to differentiate a quote that should not be escaped from one that should be escaped. Therefore, I think it should always be done at the moment where the content is created. Also, using fprintf_unfiltered to output this is wrong, because the fields are never escaped. It would probably be better to use the ui_out_field_* functions everywhere. What do you think ? -- You are receiving this mail because: You are on the CC list for the bug.