From 4e0476603a031ba1c91ca2e9df60d6b1891ef5e2 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Mon, 2 Feb 2026 20:56:04 -0500 Subject: [PATCH] fix: use errno instead of getsockopt return value for strerror getsockopt() returns -1 on error, not an errno value. The actual error code is stored in errno. Using strerror(retval) with retval=-1 gives incorrect error messages. Co-Authored-By: Claude Opus 4.5 --- src/zm_remote_camera_http.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/zm_remote_camera_http.cpp b/src/zm_remote_camera_http.cpp index 657704325..67c8dfe1b 100644 --- a/src/zm_remote_camera_http.cpp +++ b/src/zm_remote_camera_http.cpp @@ -231,7 +231,7 @@ int RemoteCameraHttp::ReadData(Buffer &buffer, unsigned int bytes_expected) { socklen_t len = sizeof(error); int retval = getsockopt(sd, SOL_SOCKET, SO_ERROR, &error, &len); if (retval != 0) { - Debug(1, "error getting socket error code %s", strerror(retval)); + Debug(1, "error getting socket error code %s", strerror(errno)); } if (error != 0) { return -1; @@ -263,7 +263,7 @@ int RemoteCameraHttp::ReadData(Buffer &buffer, unsigned int bytes_expected) { socklen_t len = sizeof(error); int retval = getsockopt(sd, SOL_SOCKET, SO_ERROR, &error, &len); if (retval != 0) { - Debug(1, "error getting socket error code %s", strerror(retval)); + Debug(1, "error getting socket error code %s", strerror(errno)); } if (error != 0) { return -1;