diff --git a/src/core/lib/iomgr/socket_utils_common_posix.c b/src/core/lib/iomgr/socket_utils_common_posix.c
index f4a2d60c2f64aad1e8c18c6ad3de103488ae210d..3a1371617e5d5ff2e93bedf41d181de0a18e4c78 100644
--- a/src/core/lib/iomgr/socket_utils_common_posix.c
+++ b/src/core/lib/iomgr/socket_utils_common_posix.c
@@ -237,7 +237,7 @@ static grpc_error *error_for_fd(int fd, const struct sockaddr *addr) {
   grpc_sockaddr_to_string(&addr_str, addr, 0);
   grpc_error *err = grpc_error_set_str(GRPC_OS_ERROR(errno, "socket"),
                                        GRPC_ERROR_STR_TARGET_ADDRESS, addr_str);
-  gpr_free(err);
+  gpr_free(addr_str);
   return err;
 }