]> granicus.if.org Git - apache/commitdiff
RĂ¼diger and Yann suggestions
authorJim Jagielski <jim@apache.org>
Fri, 18 Oct 2013 13:10:45 +0000 (13:10 +0000)
committerJim Jagielski <jim@apache.org>
Fri, 18 Oct 2013 13:10:45 +0000 (13:10 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1533440 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/proxy_util.c

index 5d634ed5206073fb3871a4a0d7652a0c57abf381..c283994f257addd5a2da76321d4ea5dc2b71b6b2 100644 (file)
@@ -93,19 +93,20 @@ PROXY_DECLARE(apr_status_t) ap_proxy_strncpy(char *dst, const char *src,
     char *thenil;
     apr_size_t thelen;
 
-    /* special case: really  apr_cpystrn should handle src==NULL*/
-    if (!src && dlen) {
+    /* special case handling */
+    if (!dlen) {
+        /* XXX: APR_ENOSPACE would be better */
+        return APR_EGENERAL;
+    }
+    if (!src) {
         *dst = '\0';
         return APR_SUCCESS;
     }
     thenil = apr_cpystrn(dst, src, dlen);
     thelen = thenil - dst;
-    /* Assume the typical case is smaller copying into bigger
-       so we have a fast return */
-    if ((thelen < dlen-1) || (src[thelen] == '\0')) {
+    if (src[thelen] == '\0') {
         return APR_SUCCESS;
     }
-    /* XXX: APR_ENOSPACE would be better */
     return APR_EGENERAL;
 }