OSDN Git Service

・板一覧更新の処理メッセージを追加 master
authorzako <zako@users.sourceforge.jp>
Fri, 6 Feb 2015 16:46:14 +0000 (01:46 +0900)
committerzako <zako@users.sourceforge.jp>
Fri, 6 Feb 2015 16:46:14 +0000 (01:46 +0900)
・ダウンロードデータの展開処理で不正の可能性のあるコードを見直し

GikoSystem.pas
NewBoard.pas
gikoNavi.res

index 3118e3c..6bc52ac 100644 (file)
@@ -1558,7 +1558,7 @@ begin
                                        cnt := ResStream.Read(buf, BUF_SIZE);
                                        if cnt > 0 then
                                                GZipStream.Write(buf, BUF_SIZE);
-                               until cnt = 0;
+                               until cnt <= 0;
                        finally
                                GZipStream.Free;
                        end;
@@ -1569,19 +1569,22 @@ begin
                                cnt := ResStream.Read(buf, BUF_SIZE);
                                if cnt > 0 then
                                        TextStream.Write(buf, BUF_SIZE);
-                       until cnt = 0;
+                       until cnt <= 0;
                end;
 
                //NULL\95\8e\9a\82ð"*"\82É\82·\82é
                s := TextStream.DataString;
                i := Length(s);
-               ln := i;
-               while (i > 0) and (s[i] = #0) do
-                       Dec(i);
-               Delete(s, i + 1, ln - i);
+        if (i > 0) then begin
+            ln := i;
+            while (i > 0) and (s[i] = #0) do
+                Dec(i);
+            if (ln > i) then
+                Delete(s, i + 1, ln - i);
+        end;
 
                i := Pos(#0, s);
-               while i <> 0 do begin
+               while i > 0 do begin
                        s[i] := '*';
                        i := Pos(#0, s);
                end;
index c18140e..214bbdd 100644 (file)
@@ -145,8 +145,10 @@ begin
                        finally
                                IdAntiFreeze.Active := False;
                        end;
-                       Result.FContent := GikoSys.GzipDecompress(Stream, Indy.Response.ContentEncoding);
                        MessageMemo.Lines.Add('\83_\83E\83\93\83\8d\81[\83h\82ª\8a®\97¹\82µ\82Ü\82µ\82½');
+                       MessageMemo.Lines.Add('\83f\81[\83^\82ð\93W\8aJ\82µ\82Ü\82·\81F' + IntToStr(Stream.Size) + 'Byte\81^' + Indy.Response.ContentEncoding);
+                       Result.FContent := GikoSys.GzipDecompress(Stream, Indy.Response.ContentEncoding);
+                       MessageMemo.Lines.Add('\83f\81[\83^\93W\8aJ\82ª\8a®\97¹\82µ\82Ü\82µ\82½');
                except
                        on E: EIdConnectException do begin
                                MessageMemo.Lines.Add('');
@@ -159,7 +161,7 @@ begin
                                if FAbort then
                                        MessageMemo.Lines.Add('\83_\83E\83\93\83\8d\81[\83h\82ð\92\86\92f\82µ\82Ü\82µ\82½')
                                else begin
-                                       MessageMemo.Lines.Add('\83_\83E\83\93\83\8d\81[\83h\82ª\8e¸\94s\82µ\82Ü\82µ\82½');
+                                       MessageMemo.Lines.Add('\94Â\88ê\97\97\82Ì\8eæ\93¾\82É\8e¸\94s\82µ\82Ü\82µ\82½');
                                        MessageMemo.Lines.Add('ResponseCode: ' + IntToStr(Indy.ResponseCode));
                                        MessageMemo.Lines.Add('Message: ' + E.Message);
                                        MessageMemo.Lines.Add('------------------------');
index 33612fe..7051839 100644 (file)
Binary files a/gikoNavi.res and b/gikoNavi.res differ