Projects
openEuler:24.03:SP1:Everything
libevent
_service:tar_scm:backport-evutil-don-t-call-mem...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-evutil-don-t-call-memset-before-memcpy.patch of Package libevent
From 39073df8318364fc868ab6d90a345ea4fc66e864 Mon Sep 17 00:00:00 2001 From: Liu Dongmiao <liudongmiao@gmail.com> Date: Sat, 30 Mar 2024 21:44:50 +0800 Subject: [PATCH] evutil: don't call memset before memcpy In `evutil_parse_sockaddr_port`, it would `memset` the `out` to zero, however, the `memset` is unnecessary before `memcpy`, and may cause undefined behavior if the `outlen` is invalid. This should close #1573. Reference:https://github.com/libevent/libevent/commit/39073df8 --- evutil.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/evutil.c b/evutil.c index 9817f08..cc0133f 100644 --- a/evutil.c +++ b/evutil.c @@ -2216,7 +2216,6 @@ evutil_parse_sockaddr_port(const char *ip_as_string, struct sockaddr *out, int * if ((int)sizeof(sin6) > *outlen) return -1; sin6.sin6_scope_id = if_index; - memset(out, 0, *outlen); memcpy(out, &sin6, sizeof(sin6)); *outlen = sizeof(sin6); return 0; @@ -2235,7 +2234,6 @@ evutil_parse_sockaddr_port(const char *ip_as_string, struct sockaddr *out, int * return -1; if ((int)sizeof(sin) > *outlen) return -1; - memset(out, 0, *outlen); memcpy(out, &sin, sizeof(sin)); *outlen = sizeof(sin); return 0; -- 2.27.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2