0109ca3d5a
Copy from devel:languages:ruby/ruby based on submit request 38548 from user darix OBS-URL: https://build.opensuse.org/request/show/38548 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ruby?expand=0&rev=15
38 lines
1.6 KiB
Diff
38 lines
1.6 KiB
Diff
I: Program causes undefined operation
|
|
(likely same variable used twiceand post/pre incremented in the same expression).
|
|
e.g. x = x++; Split it in two operations.
|
|
W: ruby sequence-point yaml2byte.c:67, 104
|
|
|
|
yaml2byte.c: In function 'bytestring_append':
|
|
yaml2byte.c:67:21: warning: operation on 'str->buffer' may be undefined
|
|
yaml2byte.c: In function 'bytestring_extend':
|
|
yaml2byte.c:104:25: warning: operation on 'str->buffer' may be undefined
|
|
|
|
#define S_REALLOC_N(var,type,n) (var)=(type*)realloc((char*)(var),sizeof(type)*(n))
|
|
|
|
so the old code expanded to:
|
|
str->buffer = str->buffer = (char*)realloc((char*)str->buffer, sizeof(char)*str->length + 1)
|
|
|
|
Index: ext/syck/yaml2byte.c
|
|
===================================================================
|
|
--- ext/syck/yaml2byte.c (revision 27446)
|
|
+++ ext/syck/yaml2byte.c (working copy)
|
|
@@ -64,7 +64,7 @@
|
|
grow = (length - str->remaining) + CHUNKSIZE;
|
|
str->remaining += grow;
|
|
str->length += grow;
|
|
- str->buffer = S_REALLOC_N( str->buffer, char, str->length + 1 );
|
|
+ S_REALLOC_N( str->buffer, char, str->length + 1 );
|
|
assert(str->buffer);
|
|
}
|
|
curr = str->buffer + (str->length - str->remaining);
|
|
@@ -101,7 +101,7 @@
|
|
grow = (length - str->remaining) + CHUNKSIZE;
|
|
str->remaining += grow;
|
|
str->length += grow;
|
|
- str->buffer = S_REALLOC_N( str->buffer, char, str->length + 1 );
|
|
+ S_REALLOC_N( str->buffer, char, str->length + 1 );
|
|
}
|
|
curr = str->buffer + (str->length - str->remaining);
|
|
from = ext->buffer;
|