Kaydet (Commit) 249a4da9 authored tarafından René Kjellerup's avatar René Kjellerup Kaydeden (comit) Petr Mladek

warn free build of dmake, concat-deps and lpsolve

add error handling for fread, fwrite, and fscanf calls

use "fputs" instead of "fprintf" to avoid warning that it couldn't varify
the format string because it wasn't a string literal.

Change-Id: I1137160d28461fbac69c8e05d32ba010da491c57
Reviewed-on: https://gerrit.libreoffice.org/903Reviewed-by: 's avatarPetr Mladek <pmladek@suse.cz>
Tested-by: 's avatarPetr Mladek <pmladek@suse.cz>
üst d7958124
......@@ -290,15 +290,15 @@ struct ar_args *arg;
#if ASCARCH
#if defined(_AIX)
fread( (char *)&flhdr, sizeof(flhdr), 1, f );
if( fread( (char *)&flhdr, sizeof(flhdr), 1, f ) != 1 ) return (-1);
if( strncmp(flhdr.fl_magic,AIAMAG, SAIAMAG) != 0 ) return(-1);
fseek(f, atol(flhdr.fl_fstmoff), 0 ); /* postition to first member */
#else
fread( magic, sizeof(magic), 1, f );
if( fread( magic, sizeof(magic), 1, f ) != 1 ) return( -1 );
if( strncmp(magic, ARMAG, SARMAG) != 0 ) return( -1 );
#endif
#else
fread( (char*)&word, sizeof(word), 1, f );
if( fread( (char*)&word, sizeof(word), 1, f ) != 1 ) return( -1 );
if( word != ARMAG ) return( -1 );
#endif
......
--- misc/build/lp_solve_5.5/lp_report.c 2007-01-14 10:31:34.000000000 -0800
+++ misc/build/lp_solve_5.5/lp_report.c 2007-01-14 10:31:34.000000000 -0800
@@ -160,7 +160,7 @@
{
int i, k = 0;
- fprintf(output, label);
+ fputs(label, output);
fprintf(output, "\n");
for(i = first; i <= last; i++) {
fprintf(output, " %18g", vector[i]);
@@ -189,7 +189,7 @@
if(last < 0)
last = lp->rows;
- fprintf(output, label);
+ fputs(label, output);
fprintf(output, "\n");
if(first == 0) {
@@ -254,7 +254,7 @@
if(last < 0)
last = lp->rows;
- fprintf(output, label);
+ fputs(label, output);
fprintf(output, "\n");
for(i = first; i <= last; i++) {
--- misc/build/lp_solve_5.5/lp_rlp.h 2007-01-14 10:31:52.000000000 -0800
+++ misc/build/lp_solve_5.5/lp_rlp.h 2007-01-14 10:31:52.000000000 -0800
@@ -615,7 +615,7 @@
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO (void) fwrite( lp_yytext, lp_yyleng, 1, lp_yyout )
+#define ECHO if(fwrite( lp_yytext, lp_yyleng, 1, lp_yyout ) != 1) YY_FATAL_ERROR( "can't write into lp_yytext" )
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
--- misc/build/lp_solve_5.5/shared/commonlib.c 2007-01-14 10:33:14.000000000 -0800
+++ misc/build/lp_solve_5.5/shared/commonlib.c 2007-01-14 10:33:14.000000000 -0800
@@ -715,7 +715,7 @@
{
int i, k = 0;
- fprintf(output, label);
+ fputs(label, output);
fprintf(output, "\n");
for(i = first; i <= last; i++) {
fprintf(output, " %5d", myvector[i]);
@@ -734,7 +734,7 @@
{
int i, k = 0;
- fprintf(output, label);
+ fputs(label, output);
fprintf(output, "\n");
for(i = first; i <= last; i++) {
if(asRaw)
@@ -756,7 +756,7 @@
{
int i, k = 0;
- fprintf(output, label);
+ fputs(label, output);
fprintf(output, "\n");
for(i = first; i <= last; i++) {
fprintf(output, " %18g", myvector[i]);
--- misc/build/lp_solve_5.5/shared/mmio.c 2007-01-14 10:33:14.000000000 -0800
+++ misc/build/lp_solve_5.5/shared/mmio.c 2007-01-14 10:33:14.000000000 -0800
@@ -74,7 +74,11 @@
for (i=0; i<nz; i++)
{
- fscanf(f, "%d %d %lg\n", &I[i], &J[i], &val[i]);
+ if(fscanf(f, "%d %d %lg\n", &I[i], &J[i], &val[i]) != 3)
+ {
+ fprintf(stderr, "read_unsymmetric_sparse(): could not parse values.\n");
+ return -1;
+ }
I[i]--; /* adjust from 1-based to 0-based */
J[i]--;
}
......@@ -46,7 +46,8 @@ PATCH_FILES=lp_solve_5.5-windows.patch
.ELSE
PATCH_FILES=\
lp_solve_5.5.patch \
lp_solve-aix.patch
lp_solve-aix.patch \
lp_solve-fixed-warn.patch
ADDITIONAL_FILES=lpsolve55$/ccc.solaris lpsolve55$/ccc.static
.ENDIF
......
......@@ -798,12 +798,12 @@ static inline void print_fullpaths(char* line)
else if(*token == ':' || *token == '\\' || *token == '/' ||
*token == '$' || ':' == token[1])
{
fwrite(token, token_len, 1, stdout);
assert(fwrite(token, token_len, 1, stdout) == 1);
fputc(' ', stdout);
}
else
{
fwrite(token, end - token, 1, stdout);
assert(fwrite(token, end - token, 1, stdout) == 1);
fputc(' ', stdout);
}
token = end;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment