coin-or / coin-or/CoinUtils

Need to update my old version of the Bison parser, using CoinModelUseful2.cpp

Open
#229 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
53
Forks
47
PR merge metrics
No merged PRs in 30d

Description

I'm using an old version of the Bison parser, CoinModelUseful2.cpp, and I'm getting the following issue while scanning my code:

89646 Out-of-bounds access Memory not owned by this buffer will be accessed, causing memory corruption or incorrect computations.
In yyparse(symrec *&, char const *, char *&, int &, double const *, CoinModelHash const &, int &, double, int &, YYSTYPE &, int &): Access of memory past the end of a memory buffer (CWE-119)

This is on line 1034 of CoinModelUseful2.cpp:
YYSTACK_RELOCATE (yyss);

I'm wondering what is the best way for me to fully update my parser? I see that my one is as follows:
/* $Id: CoinModelUseful2.cpp 1396 2011-03-01 10:42:29Z forrest $ */
// Copyright (C) 2005, International Business Machines
// Corporation and others. All Rights Reserved.
/* A Bison parser, made by GNU Bison 1.875c. */
I can't even find CoinModelUseful2.cpp in the current codebase so I'm wondering if it's a non-trivial task to update it?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by checking whether CoinModelUseful2.cpp or its parser source exists in the current CoinUtils tree; the issue says it is absent. Compare the generated file from Bison 1.875, especially line 1034 and YYSTACK_RELOCATE (yyss), with the current parser-generation workflow. Done would require identifying the maintained source and a supported way to regenerate or replace the old parser while addressing the reported out-of-bounds access.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.