1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

Bug #19688008 CREATE_ASYMMETRIC_PUB_KEY: CRASHES IN OPENSSL

CODE

Problem: UDF doesn't handle the arguments properly when they
         are of string type due to a misplaced break.
         The length of arguments is also not set properly
         when the argument is NULL.

Solution: Fixed the code by putting the break at right place
          and setting the argument length to zero when the
          argument is NULL.
This commit is contained in:
Vamsikrishna Bhagi
2014-12-03 14:46:39 +05:30
parent fa7b0180f5
commit cb9d0deb71
2 changed files with 17 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -295,9 +295,20 @@ char *metaphon(UDF_INIT *initid __attribute__((unused)),
if (!word) /* Null argument */
{
/* The length is expected to be zero when the argument is NULL. */
assert(args->lengths[0] == 0);
*is_null=1;
return 0;
}
else
{
/*
A check to confirm that argument length has the value it is
expected to have.
*/
assert(strlen(word) == args->lengths[0]);
}
w_end=word+args->lengths[0];
org_result=result;