summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2016-03-13 23:01:35 +0100
committerFrank Gevaerts <frank@gevaerts.be>2016-03-13 23:01:35 +0100
commit22927828393b3364bc2fb918e8af7b16f8204497 (patch)
tree299b70797bd72a930bd3457fcbac7a4209122d85
parentb58b9c26c94a7b5581188fb091a770d0b25a7c32 (diff)
downloadrockbox-2292782.tar.gz
rockbox-2292782.tar.bz2
rockbox-2292782.zip
A better fix than b58b9c2.
I misunderstood the code a bit when I committed b58b9c2. The read_char_no_whitespace() probably have to be done. Change-Id: I024420149a04dbeed4d714795282bb7f88a8e1da
-rw-r--r--apps/plugins/goban/sgf.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/apps/plugins/goban/sgf.c b/apps/plugins/goban/sgf.c
index 49dd28ff93..49dc617756 100644
--- a/apps/plugins/goban/sgf.c
+++ b/apps/plugins/goban/sgf.c
@@ -1261,6 +1261,13 @@ read_comment_sgf (char *buffer, size_t buffer_size)
return -1;
}
+ if (!(read_char_no_whitespace (unhandled_fd) == 'C') ||
+ !(read_char_no_whitespace (unhandled_fd) == '['))
+ {
+ DEBUGF ("comment prop points to incorrect place in unhandled_fd!!\n");
+ return -1;
+ }
+
/* make output a string, the lazy way */
rb->memset (buffer, 0, buffer_size);
++bytes_read;
@@ -1351,7 +1358,16 @@ write_comment_sgf (char *string)
start_of_write_wcs:
- if (!overwriting)
+ if (overwriting)
+ {
+ if (!(read_char_no_whitespace (unhandled_fd) == 'C') ||
+ !(read_char_no_whitespace (unhandled_fd) == '['))
+ {
+ DEBUGF ("non-comment while overwriting!!\n");
+ return -1;
+ }
+ }
+ else
{
start_of_comment = rb->lseek (unhandled_fd, 0, SEEK_END);