浏览代码

Make sure that we do not read passed the end of OPTSTRING variable

git-svn-id: trunk@45736 -
pierre 5 年之前
父节点
当前提交
60c187e169
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      rtl/inc/getopts.pp

+ 2 - 2
rtl/inc/getopts.pp

@@ -460,8 +460,8 @@ begin
      exit;
      exit;
    end;
    end;
   Internal_getopt:=optstring[temp];
   Internal_getopt:=optstring[temp];
-  if optstring[temp+1]=':' then
-   if optstring[temp+2]=':' then
+  if (length(optstring)>temp) and (optstring[temp+1]=':') then
+   if (length(optstring)>temp+1) and (optstring[temp+2]=':') then
     begin { optional argument }
     begin { optional argument }
       if nextchar>0 then
       if nextchar>0 then
        begin
        begin