Comment # 1 on bug 932306 from
Invalid read of size 4
   at 0x55C60BC: Y2ProgramComponent::sendToExternal(std::string const&)
(Y2ProgramComponent.cc:402)
   by 0x55C67B4: Y2ProgramComponent::sendToExternal(YCPValue const&)
(Y2ProgramComponent.cc:386)
   by 0x55C684C: Y2ProgramComponent::evaluate(YCPValue const&)
(Y2ProgramComponent.cc:135)
   by 0x5057BAE: ScriptingAgent::executeSubagentCommand(char const*, YCPPath
const&, YCPValue const&, YCPValue const&) (ScriptingAgent.cc:623)
   by 0x5058A92: ScriptingAgent::Read(YCPPath const&, YCPValue const&, YCPValue
const&) (ScriptingAgent.cc:196)
   by 0x57E0833: SCRRead3(YCPPath const&, YCPValue const&, YCPValue const&)
(SCR.cc:43)
   by 0x57E0AF4: SCRRead(YCPPath const&) (SCR.cc:55)
 Address 0x211f53fc is 12 bytes inside a block of size 13 alloc'd
   at 0x4C29110: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x71790A9: strdup (strdup.c:42)
   by 0x55C60B5: Y2ProgramComponent::sendToExternal(std::string const&)
(Y2ProgramComponent.cc:399)
   by 0x55C67B4: Y2ProgramComponent::sendToExternal(YCPValue const&)
(Y2ProgramComponent.cc:386)
   by 0x55C684C: Y2ProgramComponent::evaluate(YCPValue const&)
(Y2ProgramComponent.cc:135)
   by 0x5057BAE: ScriptingAgent::executeSubagentCommand(char const*, YCPPath
const&, YCPValue const&, YCPValue const&) (ScriptingAgent.cc:623)
   by 0x5058A92: ScriptingAgent::Read(YCPPath const&, YCPValue const&, YCPValue
const&) (ScriptingAgent.cc:196)
   by 0x57E0833: SCRRead3(YCPPath const&, YCPValue const&, YCPValue const&)
(SCR.cc:43)
   by 0x57E0AF4: SCRRead(YCPPath const&) (SCR.cc:55)

This is strange, I cannot see what is wrong with the code:
https://github.com/yast/yast-core/blob/58b154edb1a8a755ca957a1155e2bd3f49243505/liby2/src/Y2ProgramComponent.cc#L402

397 char *v = NULL;
398
399 if (is_non_y2)  v = strdup(value.c_str());   // no brackets
400 else            v = strdup(("(" + value + ")").c_str());
401
402 bool error = (write(to_external[1], v, strlen(v)) < 0);


You are receiving this mail because: