mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
strings.h: Ensure ast_str_buffer(…) returns a 0 terminated string.
If a dynamic string is created with an initial length of 0, `ast_str_buffer(…)` will return an invalid pointer. This was a secondary discovery when fixing #65.
This commit is contained in:
@@ -753,7 +753,10 @@ char * attribute_pure ast_str_buffer(const struct ast_str *buf),
|
|||||||
* being returned; eventually, it should become truly const
|
* being returned; eventually, it should become truly const
|
||||||
* and only be modified via accessor functions
|
* and only be modified via accessor functions
|
||||||
*/
|
*/
|
||||||
return (char *) buf->__AST_STR_STR;
|
if (__builtin_expect(buf->__AST_STR_LEN > 0, 1)) {
|
||||||
|
return (char *) buf->__AST_STR_STR;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user