| Index: gdb/findcmd.c
|
| diff --git a/gdb/findcmd.c b/gdb/findcmd.c
|
| index 3fce2695919c096297bcb5d6df77f7c8f18bc33d..68184aa27e981cc0e675fa33e560ea0127071eb9 100644
|
| --- a/gdb/findcmd.c
|
| +++ b/gdb/findcmd.c
|
| @@ -170,6 +170,7 @@ parse_find_args (char *args, ULONGEST *max_countp,
|
| {
|
| LONGEST x;
|
| int val_bytes;
|
| + ULONGEST pattern_buf_size_need;
|
|
|
| while (isspace (*s))
|
| ++s;
|
| @@ -179,12 +180,13 @@ parse_find_args (char *args, ULONGEST *max_countp,
|
|
|
| /* Keep it simple and assume size == 'g' when watching for when we
|
| need to grow the pattern buf. */
|
| - if ((pattern_buf_end - pattern_buf + max (val_bytes, sizeof (int64_t)))
|
| - > pattern_buf_size)
|
| + pattern_buf_size_need = (pattern_buf_end - pattern_buf
|
| + + max (val_bytes, sizeof (int64_t)));
|
| + if (pattern_buf_size_need > pattern_buf_size)
|
| {
|
| size_t current_offset = pattern_buf_end - pattern_buf;
|
|
|
| - pattern_buf_size *= 2;
|
| + pattern_buf_size = pattern_buf_size_need * 2;
|
| pattern_buf = xrealloc (pattern_buf, pattern_buf_size);
|
| pattern_buf_end = pattern_buf + current_offset;
|
| }
|
|
|