<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - pavucontrol crash at MainWindow::updateCard (this=0x8264400, info=...) at mainwindow.cc:319"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=81116#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - pavucontrol crash at MainWindow::updateCard (this=0x8264400, info=...) at mainwindow.cc:319"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=81116">bug 81116</a>
              from <span class="vcard"><a class="email" href="mailto:rdieter@math.unl.edu" title="Rex Dieter <rdieter@math.unl.edu>"> <span class="fn">Rex Dieter</span></a>
</span></b>
        <pre>For posterity, adding comment from Tanu about how best to debug this further
from onlist:

The comment in the Gnome bug is correct: PulseAudio should be fixed to
never set card profile names to NULL.

How to debug: first see the code in src/pulse/introspect.c and figure
out how it could pass NULL names to applications. Even if the server
sends NULL names, libpulse should handle that by closing the connection
due to protocol error, and not pass the NULL names to applications. I
see that both fill_card_port_info() fill_card_profile_info() have
insufficient input validation regarding profile names. If you fix that,
and the result is that now clients get disconnected due to bad data from
the server, the next step is to add assertions about NULL names to the
server code (src/pulsecore/protocol-native.c) to the places where
profile names are sent to clients. The assertions should cause the
server to crash, and hopefully the backtraces from those crashes can
point to the root cause of the problem.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>