Skip to content

Commit dcf3d98

Browse files
committed
Merge pull request opencv#8543 from csukuangfj:fix-String
2 parents 7567eb8 + ff31d06 commit dcf3d98

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

modules/core/include/opencv2/core/cvstd.hpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ class CV_EXPORTS String
489489

490490
static const size_t npos = size_t(-1);
491491

492-
explicit String();
492+
String();
493493
String(const String& str);
494494
String(const String& str, size_t pos, size_t len = npos);
495495
String(const char* s);
@@ -627,13 +627,15 @@ String::String(const char* s, size_t n)
627627
: cstr_(0), len_(0)
628628
{
629629
if (!n) return;
630+
if (!s) return;
630631
memcpy(allocate(n), s, n);
631632
}
632633

633634
inline
634635
String::String(size_t n, char c)
635636
: cstr_(0), len_(0)
636637
{
638+
if (!n) return;
637639
memset(allocate(n), c, n);
638640
}
639641

@@ -642,6 +644,7 @@ String::String(const char* first, const char* last)
642644
: cstr_(0), len_(0)
643645
{
644646
size_t len = (size_t)(last - first);
647+
if (!len) return;
645648
memcpy(allocate(len), first, len);
646649
}
647650

@@ -650,6 +653,7 @@ String::String(Iterator first, Iterator last)
650653
: cstr_(0), len_(0)
651654
{
652655
size_t len = (size_t)(last - first);
656+
if (!len) return;
653657
char* str = allocate(len);
654658
while (first != last)
655659
{

0 commit comments

Comments
 (0)