Changeset 088b070 for protocols/msn/gw.c


Ignore:
Timestamp:
2015-05-08T02:02:14Z (5 years ago)
Author:
dequis <dx@…>
Branches:
master
Children:
5014380
Parents:
5535a47
Message:

msn: fix use-after-free when the server sends OUT

Also fix a leak in msn_ns_callback while i'm at it.

Also fix a potential null deref when req->reply_body is null and
BITLBEE_DEBUG is enabled, but i don't even know if this one can happen.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/msn/gw.c

    r5535a47 r088b070  
    8787        gw->polling = FALSE;
    8888
     89        if (req->status_code != 200 || !req->reply_body) {
     90                gw->callback(gw->md, -1, B_EV_IO_READ);
     91                return;
     92        }
     93
    8994        if (getenv("BITLBEE_DEBUG")) {
    9095                fprintf(stderr, "\n\x1b[90mHTTP:%s\n", req->reply_body);
    9196                fprintf(stderr, "\n\x1b[97m\n");
    92         }
    93 
    94         if (req->status_code != 200) {
    95                 gw->callback(gw->md, -1, B_EV_IO_READ);
    96                 return;
    9797        }
    9898
     
    113113        if (req->body_size) {
    114114                g_byte_array_append(gw->in, (const guint8 *) req->reply_body, req->body_size);
    115                 gw->callback(gw->md, -1, B_EV_IO_READ);
     115
     116                if (!gw->callback(gw->md, -1, B_EV_IO_READ)) {
     117                        return;
     118                }
    116119        }
    117120
Note: See TracChangeset for help on using the changeset viewer.