]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0127: Naming a non-pointer variable "oap" is strange v9.1.0127
authorzeertzjq <zeertzjq@outlook.com>
Thu, 22 Feb 2024 18:51:34 +0000 (19:51 +0100)
committerChristian Brabandt <cb@256bit.org>
Thu, 22 Feb 2024 18:51:34 +0000 (19:51 +0100)
Problem:  Naming a non-pointer variable "oap" is strange.
Solution: Rename it to "oa". Also prevent using freed memory in case of
          memory allocation failure. (zeertzjq)

closes: #14075

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/evalfunc.c
src/version.c

index 981f8abedf2a323fa5b7a6c2b5ad8b3cb4912cec..37010d7bad6f3af0abbc86ef272d6d03037f948e 100644 (file)
@@ -5485,7 +5485,7 @@ block_def2str(struct block_def *bd)
 f_getregion(typval_T *argvars, typval_T *rettv)
 {
     linenr_T           lnum;
-    oparg_T            oap;
+    oparg_T            oa;
     struct block_def   bd;
     char_u             *akt = NULL;
     int                        inclusive = TRUE;
@@ -5584,16 +5584,16 @@ f_getregion(typval_T *argvars, typval_T *rettv)
 
        getvvcol(curwin, &p1, &sc1, NULL, &ec1);
        getvvcol(curwin, &p2, &sc2, NULL, &ec2);
-       oap.motion_type = MBLOCK;
-       oap.inclusive = TRUE;
-       oap.op_type = OP_NOP;
-       oap.start = p1;
-       oap.end = p2;
-       oap.start_vcol = MIN(sc1, sc2);
+       oa.motion_type = MBLOCK;
+       oa.inclusive = TRUE;
+       oa.op_type = OP_NOP;
+       oa.start = p1;
+       oa.end = p2;
+       oa.start_vcol = MIN(sc1, sc2);
        if (*p_sel == 'e' && ec1 < sc2 && 0 < sc2 && ec2 > ec1)
-           oap.end_vcol = sc2 - 1;
+           oa.end_vcol = sc2 - 1;
        else
-           oap.end_vcol = MAX(ec1, ec2);
+           oa.end_vcol = MAX(ec1, ec2);
     }
 
     // Include the trailing byte of a multi-byte char.
@@ -5609,7 +5609,7 @@ f_getregion(typval_T *argvars, typval_T *rettv)
            akt = vim_strsave(ml_get(lnum));
        else if (region_type == MBLOCK)
        {
-           block_prep(&oap, &bd, lnum, FALSE);
+           block_prep(&oa, &bd, lnum, FALSE);
            akt = block_def2str(&bd);
        }
        else if (p1.lnum < lnum && lnum < p2.lnum)
@@ -5628,7 +5628,8 @@ f_getregion(typval_T *argvars, typval_T *rettv)
 
        if (akt == NULL || ret == FAIL)
        {
-           list_free(rettv->vval.v_list);
+           clear_tv(rettv);
+           (void)rettv_list_alloc(rettv);
            break;
        }
     }
index b8e79dd546d05f5f11832aa3f753203c8678c046..e2d1f591ab47c7878c7f202a4e56d3b5a0fdf7ac 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    127,
 /**/
     126,
 /**/