Ticket #938: gnutls-segfault.patch

File gnutls-segfault.patch, 2.1 KB (added by dev@…, at 2012-04-06T12:25:52Z)

patch appearing to fix the infinite loop

  • lib/ssl_gnutls.c

    # Bazaar merge directive format 2 (Bazaar 0.90)
    # revision_id: dev@blino.org-20120406121727-zuk842f87673nnm2
    # target_branch: http://code.bitlbee.org/bitlbee/
    # testament_sha1: c8c05fee0a85a44f598acb6259054c3dd981b771
    # timestamp: 2012-04-06 14:23:19 +0200
    # base_revision_id: wilmer@gaast.net-20120326224338-f2fpii8blxfn2yh3
    # 
    # Begin patch
    === modified file 'lib/ssl_gnutls.c'
     
    327327        st = gnutls_record_recv( ((struct scd*)conn)->session, buf, len );
    328328       
    329329        ssl_errno = SSL_OK;
    330         if( st == GNUTLS_E_AGAIN || st == GNUTLS_E_INTERRUPTED )
     330        if( st == GNUTLS_E_AGAIN || st == GNUTLS_E_INTERRUPTED || st == GNUTLS_E_PREMATURE_TERMINATION)
    331331                ssl_errno = SSL_AGAIN;
    332332       
    333333        if( SSLDEBUG && getenv( "BITLBEE_DEBUG" ) && st > 0 ) len = write( 2, buf, st );