Skip to content

存在内存泄漏 #2

@guochaoshun

Description

@guochaoshun

在hostResolutionDone方法中给一个char分配地址后, 没有释放此段内存空间, 需要在合适的时机调用free. 目前我是这样修改的.

          {
                case AF_INET: {
                    struct sockaddr_in *addr_in = (struct sockaddr_in *)addrPtr;
                    s = malloc(INET_ADDRSTRLEN);
                    inet_ntop(AF_INET, &(addr_in->sin_addr), s, INET_ADDRSTRLEN);
                    self.IPAddress = [NSString stringWithFormat:@"%s", s];
                    free(s); // 释放malloc空间
                    s = NULL;
                    if (self.addressStyle != STSimplePingAddressStyleICMPv6) {
                        self.hostAddress = address;
                        resolved = true;
                    }
                } break;
                case AF_INET6: {
                    struct sockaddr_in6 *addr_in6 = (struct sockaddr_in6 *)addrPtr;
                    s = malloc(INET6_ADDRSTRLEN);
                    inet_ntop(AF_INET6, &(addr_in6->sin6_addr), s, INET6_ADDRSTRLEN);
                    self.IPAddress = [NSString stringWithFormat:@"%s", s];
                    free(s);  // 释放malloc空间
                    s = NULL;
                    if (self.addressStyle != STSimplePingAddressStyleICMPv4) {
                        self.hostAddress = address;
                        resolved = true;
                    }
                } break;
            }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions